openapi: 3.1.0
info:
  title: Shoptet API
  version: 1.0.0
  description: >-
    Created in cooperation with the Ministry of Industry and Trade of the Czech

    Republic within the "The Country for the Future" programme.


    <img src="https://www.mzv.cz/public/fe/30/dd/3705578_2234497__867990_sm.png"

    />



    This documentation provides information about the interface for developers

    who would like to gain access to Shoptet


    e-shops. For more information about Shoptet, see https://www.shoptet.cz/.



    The API is available in two access modes:



    - for "Shoptet partner” developers who create the interconnection with the

    services and extend the Shoptet system's
      functions for public usage.  For more information about API and conditions, under which
      it can be used, see https://developers.shoptet.com/addons/.

    - direct private access to eshop data for eshop owner - available only for

    [Premium Members](https://www.shoptetpremium.cz/).
      See https://developers.shoptet.com/premium for more information about API access.

    # Basic principles



    ## How to call API



    API supports communication in JSON format. The URL for calling API requests

    is https://api.myshoptet.com. The API calls


    (endpoints and message formats) are common for private as well as addons

    access, it however uses different authentication


    and authorization principles.



    ### For Addons



    API is made to create the supplements for the Shoptet system and uses OAuth2

    authorization principles.


    To access the API it is necessary to implement a web service at your side,

    which will communicate with our OAuth server.



    In your e-shop administration, which you are using to work with our API, you

    must search in the `API Partner` section for the `Access to API` tab.


    Here, you will find your clientID and addresses, from where you can call our

    OAuth server.



    The work with API begins with e-shop addon installation. (The installation

    process can be tested in the addon detail in the `Users` section, where you

    can cause the installation for your e-shop.)


    In your addon detail, in the `Settings` section, enter URL to gain a OAuth

    code. The URL must be linked to your server, where the script is prepared,

    which is able to gain an OAuth access token.


    At this address, you will receive the HTTP request with a GET parameter

    `code`, when installing the addon, with unique value (a 255 character long

    string).


    The `code` provided only has short-term validity and can be used only once.

    With this code, request our OAuth server to provide an `OAuth access token`.


    Such a request shall follow within the same script that received the `code`.


    Do not put off gaining the OAuth access token for a later time, and do not

    reply to our request with a `200 OK` status, until you gain the OAuth access

    token.


    The address for you to call, and an example of implementation, can be found

    in e-shop administration in the `Access to API` section.



    As a response you will obtain a JSON with your OAuth access token. Save this

    token securely. Never send this token to the client computer, and use it

    only


    for communication between the servers and for gaining the temporary token

    for access to API.



    If you have successfully received an OAuth access token, your script must

    end with the HTTP status code “200”.



    Now you have your OAuth access token, which links your addon with a specific

    e-shop, perhaps you would like to communicate with the e-shop via API.



    From your server, call

    `https://<eshop-address.tld>/action/ApiOAuthServer/getAccessToken` address

    with HTTP header `Authorization: Bearer <OAuth access token>`.


    As the reply, you will receive a JSON containing an API access token value

    and the token expiration time value. An example of calling can be found in

    e-shop administration in the `Access to API` section.


    It is possible to request a maximum of 5 valid tokens.



    The API access token will enable you to call an individual URL of our API,

    for example `https://api.myshoptet.com/api/eshop`. Send the API access token

    in each request in the HTTP header`Shoptet-Access-Token`.


    You can have several valid API access tokens available at any one time.

    Should the validity of the API access token expire, you will receive a HTTP

    status code 401 and message about token expiration.



    ```


    {
        "data": 'null',
        "errors": [
            {
                "errorCode": "expired-token",
                "message": "Token is expired. Please ask for new one.",
                "instance": "unknown"
            }
        ]
    }


    ```



    If your token does not have the access right for a specific endpoint, you

    will obtain a reply with HTTP status code 403 Forbidden.



    ```


    {
        "data": 'null',
        "errors": [
            {
                "errorCode": "invalid-token-no-rights",
                "message": "Your access token \"afd..123\" has no defined rights for this resource.",
                "instance": "access-token"
            }
        ]
    }


    ```



    ### For private API access (Premium)



    You can create API access tokens simply in the eshop administration. Send

    them in the request header `Shoptet-Private-API-Token`.


    You can automatically access all API endpoints.



    ## Rate limiting



    Rate limiting is at the level of server overload protection (DDoS), whereas
    the quantity of queries or total volume of data are unlimited.


    These are therefore the limits of the maximum number of coincident active
    connections. A maximum of 50 from a single IP address, and a maximum of 3
    connections for a single token. If the limit is exceeded, the HTTP code 429
    is returned. See also Nginx configuration:



    ```

    limit_conn per_ip 50;

    limit_conn per_token 3;

    limit_conn_status 429;

    ```



    Some URLs, for example for bulk operations, can have their own specific
    limits, which are mentioned in this documentation.


    ### Leaky bucket

    We have also prepared more detailed rules for checking the efficiency of
    calling your integrations using a leaky bucket algorithm.


    We inform you about reaching the limits via headers
    `X-RateLimit-Bucket-Filling` (in every response), and `Retry-After` (only if
    bucket is fulfilled), e.g.


    ```

    X-RateLimit-Bucket-Filling: 200/200

    Retry-After: Mon, 01 Jul 2024 12:01:11 GMT

    ```



    For more information, visit [API Rate
    limiter](https://developers.shoptet.com/api-rate-limiter/).


    ## Locks



    Write endpoints (DELETE, PATCH, POST, PUT methods) can take longer and may

    be prone to two concurrent matching requests.


    To avoid problems with retrying identical write requests, we have added the

    locking function of these requests to the application.


    If you execute the same request two times in quick succession, the second

    request receives error response with a 423 code.


    The lock is only valid for a specific called URL, for the duration of the

    request processing, but no longer than 5 seconds.



    ## Server response format



    All JSON responses from the server have the same format, as a base.


    If any of the sections is not present in the response, a `null` value is

    then received.



    Example of call for addons:



    ```


    curl --include \
        -H 'Shoptet-Access-Token: 123456-a-123-XXXXXXXXXXXXXXXXXXXXXXXXX' \
        -H 'Content-Type: application/json' \
       'https://api.myshoptet.com/api/eshop'
    ```



    Example of call for private API access:



    ```


    curl --include \
        -H 'Shoptet-Private-API-Token: 123456-a-123-XXXXXXXXXXXXXXXXXXXXXXXXX' \
        -H 'Content-Type: application/json' \
       'https://api.myshoptet.com/api/eshop'
    ```



    Example of response:



    ```


    HTTP/2 200


    date: Fri, 13 Jul 2018 15:57:29 GMT


    content-type: application/json+json; charset=utf-8



    {
        "data": {
            "contactInformation": {
                "eshopName": "www.domena-eshopu.cz",
                "url": "https:\/\/www.domena-eshopu.cz\/",
                "companyId": "28935675",
               ...
            }
            ...
        },
        "errors": 'null'
    }


    ```



    The basic structure of the response in the event of an error is as follows:



    ```


    {
        "data": 'null',
        "errors": [
            {
                "errorCode": "missing-access-token",
                "message": "Missing access token. Please add `Shoptet-Access-Token` header to your request.",
                "instance": "unknown"
            }
        ]
    }


    ```



    Most of the endpoints are synchronous, i.e. your answer is provided

    immediately and contains the data requested. There


    are however some endpoints, where either the request or the response

    processing takes longer time. These are implemented as


    [Asynchronous

    requests](https://developers.shoptet.com/asynchronous-requests/). Your

    request will be queued and you


    receive only job identification in the response. You will be notified using

    a


    [webhook](https://developers.shoptet.com/api/documentation/webhooks/) when

    the job is completed and your results


    downloadable. Be aware, that registration of webhook `job:finished` is

    required to be able to run asynchronous requests.


    If webhook is not registered, you will receive an error response with HTTP

    status code 403 and job won't be queued.


    Webhook `job:finished` is also emitted when the job is failed so there is
    need to check the [Detail of job](#tag/job-endpoints/getjobdetail)

    to get the result of the job. If an error occurs during an asynchronous
    request, the job is automatically marked as

    failed 3 hours after its creation, and in this case, the `job:finished`
    webhook is not emitted.



    Some attributes may be added to the new API version, or the sequence of

    attributes can be changed.


    Your software, therefore, shall not rely on either of these.


    If some attributes are renamed or removed, you will be informed in an

    additional


    header - see also [API
    versioning](#section/Basic-principles-of-working-with-API/API-versioning)
    and [Deprecated header +

    Sunset](#section/Basic-principles-of-working-with-API/Deprecated-header-+-Sunset).



    ## Deprecated header + Sunset



    If you are calling some endpoint in a version that will not be supported in

    the future, you will receive a response with the header


    `X-Shoptet-Deprecated`. If you detect this header within the response and

    its presence is logged,


    you should be aware of the support termination for a specific endpoint in

    advance and thus have enough time for correction.



    Furthermore, you shall also receive the response with a`Sunset` header with

    the date when the support for this endpoint is to be terminated.



    ## Status codes



    When processing the response, the client shall first detect, what response

    status code was received.



    For GET requests for responses with 200 code, it is not necessary to explore

    the `errors` part of the response.


    For PATCH/PUT requests, which can process more records at the same time and

    some records


    are not processed successfully, these end with a 200 response code and the

    errors key contains info
     on skipped rows.

    The unknown record is returned with a 404 code, etc. These responses have

    the error field filled in, where you can


    find detailed info about the error.



    The following errors might be expected:



    * 400 - Some of the validations on item level have failed. There is no

    reason to retry, it will fail always.



    * 401 - Invalid token or the token has expired (for addons access tokens).

    You have to ask for another one.



    * 403 - Forbidden. The token has no rights to the endpoint called. The

    endpoints must be allowed for an addon
      and the eshop must have approved them. Valid for addons access tokens, private tokens can always access all
      endpoints. Can be also returned when required module for request is missing.

    * 404 - Either the endpoint is wrong; or most commonly, an entity

    identifier, which is part of the URL, does
      not exist.

    * 409 - Conflict - the action could not be completed for some consistency

    rules, such as duplicate data
      or relation, which would be broken.

    * 413 - Payload too large - update requests can sometimes contain multiple

    entities to be amended. There is
      however a limit (varying for each request), how many can be specified within one request. If you breach the
      limit, you will get this error and nothing will be updated.

    * 422 - Unprocessable entity - we were not able to parse the request - it

    does not match the expected format.
      Something is wrong with the request as whole, it might not be a correct JSON or it does not match the expected
      JSON schema. There is no reason to retry, it will always fail.

    * 423 - Locked - for update and some read request we apply locks, usually on

    an URL level, which should avoid
      consistency problems possibly occuring from parallel updates. See [chapter about locks](#section/Basic-principles-of-working-with-API/Locks). Retry later,
      try to avoid parallel update requests.

    * 500 - General server error. Yes, this might happen to our software, too.

    Most commonly this is a temporary
      database issue and it might (but might not), work a few minutes later. We monitor all such errors and we
      try to analyze and fix them.

    * 503 - System maintenance. Most commonly we move a database to another

    database cluster or a database migration is
      pending and it will be available in a few minutes. Please try later.


    ## Paging



    Some endpoints can return larger quantity of records. Such endpoints do not

    return the entire result, but support pagination of results.


    You can page using `page` (int) and `itemsPerPage` (int) parameters. The

    first page has number 1. If you require a different


    quantity of items per page, use the `itemsPerPage` parameter. CAUTION: the

    number of items per page can be decreased only, the default


    value is maximum. The default value can be different for each endpoint.



    When paging, check the total number of items, if not altered (`totalCount`),

    then the


    items on pages could be shifted and some of them could be missed or

    processed twice.



    ## Section on demand



    Some endpoints return the data sections as optional, on demand. The request

    is done by giving the section name in the


    `include` parameter. Part of the data is returned each time, the other

    section only on demand. This makes the responses smaller for those, who do

    not need the data


    , thus saving the volume of data transmitted and shortening the time to

    process the request.



    For example, for "Eshop Info" endpoint, you will gain basic info when simply

    calling `[GET] /api/eshop`, but payment


    methods and transport options only when using `[GET]

    /api/eshop?include=paymentMethods,shippingMethods`.



    More values are separated by a comma, no sequencing, no upper/lower case

    differentiation. Other blocks are available on demand


    and each endpoint informs you which identifier to request.



    ## Translations



    For proper functionality in translations you will have to get module Foreign

    languages (Cizí jazyky) activated on customer e-shop. Multi-language support

    in API is handled by query parameter `language`, which can be used in whole

    API. If parameter is not set, default shop language is used.


    Read endpoints (HTTP verb GET) will return corresponding language version of

    texts where applicable.



    For write endpoints, first use POST endpoint to create entity and then use

    PATCH endpoint with corresponding language query parameter to set language

    fields.



    Please note that in some endpoints (typically surcharge/filtering/variant

    parameters) you must use the identifier's currently selected language

    variant (which is filtered in list).



    ## Files



    For files upload, there are [Files endpoints](#tag/Files).



    The file is uploaded to a temporary storage which is not accessible

    publicly. The file is kept there for 7 days and then deleted.



    After you upload a file, you may copy it to some API entities in their

    endpoints - you specify filename returned in response of upload job.



    Please note that currently only images (png, jpg, gif) are allowed filetypes

    for file upload.



    # Product images



    Shoptet saves the product images in their original size and then prepares

    several sizes for standardized usage (called


    image cuts). These cuts are created in advance and saved on the disk, so

    they are readily available. The list of cuts is


    the same for each e-shop, and each e-shop can theoretically have different

    cut sizes. In practice, their size is given


    by the template and most templates use the same sizes. The list of provided

    cuts is given by


    the [Image cuts](#section/Code-lists/Image-cuts) code list.



    The `/api/eshop?include=imageCuts` endpoint returns the `imageCuts` field in

    the response, where each cut has the actual


    size defined, and the URL base path. There are two base URLs (example for

    classic.shoptet.cz, cut `detail`):



    - `urlPath`: "https://classic.shoptet.cz/user/shop/detail/"



    - `cdnPath`:

    "https://cdn-api.myshoptet.com/usr/classic.shoptet.cz/user/shop/detail/"



    Use the `urlPath` in case you need an up-to-date image right now. Use the

    url for your backend processing and you


    will retrieve the images only once. Images retrieved via `urlPath` are not

    cached. You can use image name or SEO version


    of the image name - see below.



    Use the `cdnPath` in case you want to use the image url on the frontend and

    users of your application will display it,


    e.g. if you provide an alternative frontend, mobile application etc. The

    images are cached and provided with lower


    latency. Use `cdnName` retrieved from the product detail endpoint (or

    similar) - see below.



    Once you determine the URL based on the purpose and image cut size (for

    example `detail` for product detail, or `related`


    for product preview), just append the filename you need. The filename can be

    retrieved from Product detail endpoint.



    Although the e-shop is behind the content delivery network (Cloudflare CDN),

    API still returns the same domain. Whether


    the e-shop is behind the Cloudflare CDN, you can find out from response

    headers (`CDN-Loop: cloudflare` header).



    The product detail endpoint `/api/products/{guid}?include=images` returns

    the image field `data.images[]` in the same


    sequence, as these are entered in administration. The file name `name` (for

    example `100.jpg`) needs to be connected


    to the URL cut and then you have complete path to the image of a given cut

    (size), for example


    `https://classic.shoptet.cz/user/shop/detail/100.jpg`. You can also use

    `seoName`, which also contains a description


    of the image - you will be redirected to the same image. The `cdnName` is

    intended for use with the `cdnUrl` only.


    The fields look like: (excerpt)



    ```json
        "name": "106.png",
        "description": "shamrock 2115611 640",
        "seoName": "106_shamrock-2115611-640.png",
        "cdnName": "106_shamrock-2115611-640.png?5b2a41f5"
    ```



    One of the images mentioned for the product can be selected as the default

    image for the product variant. The selected


    image is in `data.variants[].image` item and contains the name of the image

    – this can be searched for in the image


    list, in the `name` item. Should the variant have no preselected default

    image, the parameter `image` is `null`.


    If `data.variants[].isProductDefaultImage` is true, then the default product
    image is given. If it is `false`, then

    it is the default variant image.


    The item `data.items[].mainImage` contains the main image in order detail -

    this is either a default variant image,


    or, if not set (or product does not have variants), the default product

    image is given. The structure is the same as


    in product details, but not all images are given here, only the default one

    – representative image. The full path can


    be gained by assembling the `urlPath` from the e-shop info and the `name` or

    `seoName` items, given for the order item.



    Similarly, the product list gives `data.products[].mainImage`, which

    mentions the initial image for each product.



    # Code lists



    ## Image cuts



    Value | Description

    -------- | ---------

    orig | original image (in the original resolution)

    big | big image (typically 1024x768 px)

    detail |image detail (typically 360x270 px)

    category | size for listing in category (typically 216x105 px)


    ## Product visibility


    Value  | Description

    -------- | ---------

    hidden | Hide product

    visible | Show product

    blocked | Cannot be ordered

    show-registered | Show only to logged-in users

    block-unregistered | Do not allow order to logged-out users

    cash-desk-only | Show only in cash desk

    detail-only | Do not show e-shop navigation


    ## Product types


    Value  | Description

    -------- | ---------

    product | Product

    bazar | Second-hand product

    service | Service

    gift-certificate | Gift (deprecated)

    product-set | Product set


    ## Types of order items



    Value  | Description

    -------- | ---------

    product | Product

    bazar | Second-hand product

    service | Service

    shipping | Transportation

    billing | Payment method

    discount-coupon | Discount coupon

    volume-discount | Volume discount

    gift | Gift

    gift-certificate | Gift certificate

    generic-item | Non-specific item

    product-set | Product set

    product-set-item | Product set item

    deposit | Deposit



    ## Sorting of products in category



    Value  | Description

    -------- | ---------

    default | Default

    most-selling | Most selling first

    cheapest | Cheapest first

    most-expensive | Most expensive first

    oldest | Oldest first

    newest | Newest first

    alphabetically | Alphabetically

    alphabetically-desc | Alphabetically, descending

    product-code | Per product code

    product-code-desc  | Per product code, descending

    category-priority | Category priority

    category-priority-desc | Category priority, descending


    ## Webhook event types


    Value  | Description | Identifier meaning

    -------- | --------- | ---------

    brand:create | Brand creation event | String (`code`) - brand unique code

    brand:update | Brand change event     | String (`code`) - brand unique code

    brand:delete | Brand deleting event   | String (`code`) - brand unique code

    creditNote:create | Credit note creation event | Number (`code`) of credit
    note

    creditNote:delete | Credit note deleting event   | Number (`code`) of credit
    note

    creditNote:update | Credit note change event     | Number (`code`) of credit
    note

    customer:create | New customer was created | Customer GUID

    customer:update | Customer was updated. Throws `409 Conflict` when try to
    register simultaneously with `customer:disableOrders` or
    `customer:enableOrders` | Customer GUID

    customer:disableOrders | An event disabled the customer, and his future
    orders will be automatically cancelled. Throws `409 Conflict` when try to
    register simultaneously with `customer:update` | Customer GUID 

    customer:enableOrders | An event enabled the customer's future orders.
    Throws `409 Conflict` when try to register simultaneously with
    `customer:update` | Customer GUID

    customer:import | Import of 1 and more customers was executed | Fixed string
    "customers"

    customer:delete | Customer was deleted | Customer GUID

    deliveryNote:create | Delivery note creation event  | Number (`code`) of
    delivery note

    deliveryNote:delete | Delivery note deleting event    | Number (`code`) of
    delivery note

    deliveryNote:update | Delivery note change event      | Number (`code`) of
    delivery note

    discountCoupon:create | Discount coupon creating event | String (`code`) -
    discount coupon unique code

    discountCoupon:delete | Discount coupon deleting event      | String
    (`code`) of discount coupon

    discountCoupon:update | Discount coupon updating event | String (`code`) -
    discount coupon unique code

    eshop:currencies | Currencies settings change event | ID of eshop

    eshop:billingInformation | Billing information (i.e. eshop billing address)
    change event | ID of eshop

    eshop:design | Design settings (template, colors, fonts, layout) | ID of
    eshop

    eshop:mandatoryFields | Mandatory fields of customer were updated | ID of
    eshop

    eshop:projectDomain | Domain of eshop was changed | ID of eshop

    invoice:create | Invoice creation event  | Number (`code`) of invoice

    invoice:delete | Invoice deleting event    | Number (`code`) of invoice

    invoice:update | Invoice change event      | Number (`code`) of invoice

    job:finished | The asynchronous request was finished | Job `id`

    mailingListEmail:create | E-mail addition event into the e-mail distribution
    list | Name (`code`) of e-mail distribution list

    mailingListEmail:delete | E-mail deleting event from the e-mail distribution
    list | Name (`code`) of e-mail distribution

    order:cancel | Order cancel event. Webhook is emitted when order status is
    set to `canceled`. Throws `409 Conflict` when try to register simultaneously
    with `order:update` | Number (`code`) of order

    order:create | Order creation event | Number (`code`) of order

    order:delete | Order deleting event   | Number (`code`) of order

    order:update | Order change event. Throws `409 Conflict` when try to
    register simultaneously with `order:cancel` | Number (`code`) of order

    orderHistoryRemarks:change | Order history remarks have been changed.
    Emitted when order remark is created or deleted | Order `ID`

    orderStatusesList:change | Order status list change event. Emitted when
    order status is created, updated or deleted | Order status `ID`

    paymentMethod:change | Payment method change event | Payment method GUID

    proformaInvoice:create | Proforma invoice creation event | Number (`code`)
    of proforma invoice

    proformaInvoice:delete | Proforma invoice deleting event   | Number (`code`)
    of proforma invoice

    proformaInvoice:update | Proforma invoice change event     | Number (`code`)
    of proforma invoice

    proofPayment:create | Proof of payment creation event | Number (`code`) of
    proof payment

    proofPayment:delete | Proof of payment deleting event | Number (`code`) of
    proof payment

    proofPayment:update | Proof of payment change event   | Number (`code`) of
    proof payment

    quantityDiscount:create | Quantity discount creation event | ID of quantity
    discount

    quantityDiscount:update | Quantity discount change event | ID of quantity
    discount

    quantityDiscount:delete | Quantity discount deleting event | ID of quantity
    discount

    shippingMethod:change | Shipping method change event | Shipping method GUID

    shippingRequest:cancelled | Shipping request was not chosen for order
    delivery | `shippingRequestCode` associated with the cart

    shippingRequest:confirmed | Shipping request was chosen for order delivery |
    `shippingRequestCode` associated with the cart

    stock:movement | Stock change event | Stock ID

    stock:inStock (*) | Stock change event - sum across all of the stocks raised
    above 0 (beta, see below) | Number (`code`) of product

    stock:soldOut (*) | Stock change event - sum across all of the stocks
    reached 0 (beta, see below) | Number (`code`) of product

    stock:minStockSupplyReached (*) | Stock change event - sum across all of the
    stocks reached minimum stock supply value, if this limit is set for product
    (beta, see below) | Number (`code`) of product


    (*) These webhooks are considered beta/experimental, for more information,
    please visit the X-url


    ### Mass Webhooks


    These webhooks are sent when a mass change of entities is performed. The

    payload contains a json serialized list of IDs of changed entities.


    Purpose of these webhooks is to downgrade number of requests, while i.e.

    administrator performs mass change of orders status at once etc.


    So instead of emitting one event for every order, we emit one event for all

    of them.



    <strong>For now, if some mass event is performed, we also sent "single"

    webhook event for every updated entity as usual, but it will be changed in

    future</strong>, 

    so please watch [release
    changes](https://developers.shoptet.com/category/api/) for more info



    Value  | Description | Identifier meaning

    -------- | --------- | ---------

    discountCoupon:massCreate | Mass create of discount coupons event | Json
    serialized list of string (`code`) of discount coupons

    discountCoupon:massDelete | Mass delete of discount coupons event      |
    Json serialized list of string (`code`) of discount coupons

    invoice:massUpdate | Mass change of invoices event      | Json serialized
    list of number (`code`) of invoices

    order:massUpdate | Mass change of orders event      | Json serialized list
    of number (`code`) of orders

    quantityDiscount:massDelete | Mass delete of quantity discount event | Json
    serialized list of quantity discounts IDs

    quantityDiscount:massUpdate | Mass change of quantity discount event | Json
    serialized list of quantity discounts IDs 


    ### System Webhooks


    These webhooks cannot be registered via API, they are setup in Partners'

    Addon administration section instead.



    Value | Description

    ----- | -----------

    addon:suspend | The addon was suspended by the eshop or by Shoptet
    operations staff

    addon:approve | The addon was approved (resumed) after it was suspended

    addon:terminate | The addon was terminated by the eshop or by Shoptet
    operations staff

    addon:uninstall | The addon was uninstalled by the eshop admin or the eshop
    was terminated


    ## URL address from endpoint Eshop info


    See endpoint [Eshop info](#tag/Eshop)


    Ident | Description

    ------| -----

    admin-orders-list | Listing of orders in administration

    admin-customers-list | List of customers in administration

    oauth | OAuth server address, used for [e-shop user
    verification](https://developers.shoptet.com/api/documentation/eshop-verification-using-oauth/)


    ## List of product catalogues


    Provider (identification) | Description

    ------| -----

    glami | Glami

    google | Google

    heureka | Heuréka

    zbozi | Zboží.cz


    ## Invoice Billing Methods


    id | Description

    ------| -----

    1 | COD (cz: Dobírka)

    2 | Wire transfer (cz: Převodem)

    3 | Cash (cz: Hotově)

    4 | Card (cz: Kartou)


    ## VAT modes
                 
                 
    Value |

    ------|

    Normal |

    One Stop Shop |

    Mini One Stop Shop |

    Reverse charge |

    Outside the EU |


    # Postman collection



    If you use Postman as an API platform for building and using APIs, we
    provide you a complex collection of Shoptet API.


    You have 2 options how to import our postman collection (created from
    [openApi schema](https://swagger.io/specification/) - openapi.yaml ) into
    your postman client



    ## Fork Shoptet API Collection from Shoptet Public API Workspace
    (recommended)



    See [Shoptet Public API
    Workspace](https://www.postman.com/shoptet-developers/shoptet-public-api-workspace).


    Also check postman documentation for more details: [Fork a
    collection](https://learning.postman.com/docs/collaborating-in-postman/using-version-control/forking-elements/).



    ### Step 1: Navigate to Shoptet Public API Workspace



    - Launch Postman on your desktop or in the browser.


    - In the search bar in the top header of app, type **Shoptet Public API**
    and select collection from Shoptet public API Workspace.



    ### Step 2: Locate the Shoptet API Collection



    - Once inside the Shoptet Public API Workspace, go to the **Collections**
    tab.


    - Find the **Shoptet API** collection.



    ### Step 3: Fork the Collection



    - Click on the **Shoptet API** collection to open it.


    - In the collection view, click the **Fork** button in the top-right corner.


    - In the fork dialog, choose a name for your forked collection.


    - Select the workspace where you want to save the forked collection.


    - **It’s recommended to check `watch original collection` to get notified
    about changes in the original collection.**


    - Click **Fork Collection**.



    ### Step 4: Access Your Forked Collection



    - Navigate to the workspace where you saved the forked collection.


    - You’ll now find the forked **Shoptet API** collection under the
    **Collections** tab, ready for you to use and modify.


    Now you have your own copy of the Shoptet API collection! If you want to add
    changes from the original collection, you can do so by click on `pull
    changes` in collection settings.



    ## Import openapi.yaml into Postman as a Collection



    ### Step 1: Upload the `openapi.yaml` File



    - Download the
    [openapi.yaml](https://github.com/shoptet/developers/blob/master/openapi/openapi.yaml)
    file from our developers
    [repository](https://github.com/shoptet/developers).


    - Launch Postman on your desktop or in the browser.


    - In the top-left corner of Postman, click the **Import** button.


    - A pop-up window will appear.


    - Drag and drop your `openapi.yaml` file into the window, or click **Upload
    Files** and browse to the file's location.



    ### Step 2: Verify OpenAPI Import



    - Postman will automatically recognize the OpenAPI schema.


    - It will display a preview of the API schema.



    ### Step 3: Import as Collection



    - Once the file is recognized, click **Import**.


    - Postman will convert the OpenAPI schema into a collection of requests,
    based on the defined endpoints in the `openapi.yaml` file.



    ### Step 4: Access the Imported Collection



    - After the import is successful, go to the **Collections** tab.


    - You’ll find your new collection, named after the OpenAPI schema,
    containing all the API requests generated from the file.



    Now you can explore the API endpoints and use them directly within Postman!


    ## Collection settings


    1. Click the **Shoptet API** collection name.


    2. Go to **Authorization** tab.


    3. Set your access token into the `value` of `Shoptet-Access-Token` key.


    4. Go to **Variables** tab.


    5. You can set `baseUrl` variable here.


    # Last changes



    Last API changes are published on the [API news] page

    (https://developers.shoptet.com/category/api/).
servers:
  - url: https://api.myshoptet.com
security:
  - shoptetAccessToken: []
  - shoptetPrivateApiToken: []
tags:
  - name: Eshop
    description: This endpoint is used for general information about the e-shop settings.
  - name: Products
    description: >-
      Product endpoints are used for managing products in the e-shop and also
      for its related modules.
  - name: Price lists
    description: >-
      Price lists are used for setting up different prices for products for
      different customer groups.
  - name: Orders
    description: Order endpoints are used for managing orders in the e-shop.
  - name: Invoices
    description: Invoice endpoints are used for managing invoices in the e-shop.
  - name: Proforma invoices
    description: >-
      Proforma invoice endpoints are used for managing proforma invoices in the
      e-shop.



      The code (`code`) is the proforma invoice identifier. Although this is

      usually a number, it is necessary to take into account that this might

      also include


      letters, a dash, etc.
  - name: Credit notes
    description: |-
      Credit note endpoints are used for managing credit notes in the e-shop.

      The code (`code`) is the credit note identifier. Although this is usually
      a number, it is necessary to take into account that this might also
      include

      letters, a dash, etc.
  - name: Delivery notes
    description: >-
      Delivery note endpoints are used for managing delivery notes in the
      e-shop.



      The code (`code`) is the credit notes identifier. Although this is usually

      a number, it is necessary to take into account that this might also

      include


      letters, a dash, etc.
  - name: Proof payments
    description: >-
      The code (`code`) is the proof payments identifier. Although this is
      usually a number, it is necessary to take 

      into account that this might also include letters, a dash, etc.
  - name: Stocks
    description: Stock endpoints are used for managing stocks in the e-shop.
  - name: Suppliers
    description: Supplier endpoints are used for managing suppliers in the e-shop.
  - name: Brands
    description: >-
      Brand endpoints are used for managing brands in the e-shop.



      **Please note**, the **field `code` is deprecated** - use `indexName`
      instead. Parameter `code` accepts both: 

      guid string style, e.g. `d467bfbe-4334-11ef-ad70-0242ac1f0005`, and index
      name string style, e.g. `willy-wonka`.

      **The index name string style is deprecated** - use guid style.
  - name: Customers
    description: Customer endpoints are used for managing customers in the e-shop.
  - name: Templates
    description: |-
      In the last Shoptet version, it is not possible to change the e-shop
      design via API. However, it is possible to include HTML codes

      into previously defined places. This enables the code or link to a file
      containing additional CSS styles or JavaScript codes to be entered.

      The same functionality is now included within the e-shop administration
      (`/admin/html-kody/`, `HTML code` tab).


      There are 3 possible locations, where HTML codes can be inserted:


      * `common-header` - the code will be inserted into each e-shop page header
      (`<HEAD>`)


      * `common-footer` - the code will be inserted into each e-shop page foot
      (before end `</BODY>`)


      * `order-confirmed` - the code will be inserted in the page confirming the
      order (the "thank you page")


      The inserted codes may come from 3 sources, and they are included in the
      following order:

      1. Codes from addons (the addon defines HTML codes to be inserted for
      anybody, who installs the addon). If there are more of these, they are
      inserted progressively, the order cannot be relied upon.

      2. Codes entered via API. Each addon can insert only one code into each
      location. If there are more of these addons, the codes will be inserted
      progressively, one after another, the order cannot be relied upon.

      3. The code entered in the administration GUI (`/admin/html-kody/`, `HTML
      code` tab).
  - name: Payment gateways
    description: |-
      API endpoints for integration of payment gateways.


      **If you are a Premium client, contact your Account or Onboarding manager.
      New payment gateway has to be approved by Shoptet and client needs to be
      familiar with the terms of payment in advance**.
  - name: Webhooks
    description: |-
      API endpoints for webhook servicing. It offers the possibility to read,
      add, change and delete the registered webhooks. Furthermore, it offers

      a list of notifications about invoked webhooks and their status.


      The webhooks are HTTP calls, which send HTTPs calls to registered
      subscribers if a specific event happens,

      for example creating an order. Then the information, in JSON format, is
      delivered to the defined URL.


      ```javascript

      {
          "eshopId": 222651,
          "event": "order:create",
          "eventCreated": "2019-01-08T15:13:39+0100",
          "eventInstance": "2018000057"
      }

      ```


      The meaning of individual items:


      * `eshopId` - number of the e-shop, where the event happened


      * `event` - event which invoked the call (see code list 
      [Webhook event](#section/code-lists/webhook-event-types) types)


      * `eventCreated` - accurate time, when the event happened


      * `eventInstance` - reference to a specified entity - according to the
      context, order number, invoice number, product GUID, etc.


      For more information about the function of webhooks, see
      https://developers.shoptet.com/webhooks/.
  - name: Shipping methods
    description: |-
      Shipping methods endpoints are used for managing shipping methods in the
      e-shop.
  - name: Shipping requests
    description: |-
      Shipping requests endpoints are used for managing shipping requests in the
      e-shop.
  - name: Payment methods
    description: |-
      Payment methods endpoints are used for managing payment methods in the
      e-shop.
  - name: Unsubscribed emails
    description: |-
      This functionality allows you to manage a list of email addresses that
      opted out of receiving marketing communications in compliance with legal
      requirements, including the possibility of comparing any further mailings
      with this list to exclude opt-out contacts.
  - name: E-mail distribution lists
    description: |-
      The functionality is subject to module activation [Mass
      e-mailing](https://doplnky.shoptet.cz/hromadne-rozesilani-emailu) within
      the e-shop. The addon using this endpoint must therefore have this module
      defined as dependency.
  - name: Discount coupons
    description: |-
      Discount coupons endpoints are used for managing discount coupons in the
      e-shop.
  - name: XY discounts
    description: |-
      X + Y discounts endpoints are used for managing X + Y discounts in the
      e-shop.
  - name: Quantity discounts
    description: >-
      Quantity discounts endpoints are used for managing quantity discounts in
      the

      e-shop.
  - name: Articles
    description: Article endpoints are used for managing articles in the e-shop.
  - name: Pages
    description: Page endpoints are used for managing pages in the e-shop.
  - name: Discussions
    description: Discussion endpoints are used for managing discussions in the e-shop.
  - name: Job endpoints
    description: Job endpoints are used for managing asynchronous jobs in the e-shop.
  - name: Files
    description: File endpoints are used for managing files in the e-shop.
  - name: System endpoints
    description: This endpoints are used for obtaining information for endpoints in API.
paths:
  /api/eshop:
    get:
      responses:
        '200':
          description: OK
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    additionalProperties: false
                    required:
                      - contactInformation
                      - settings
                      - currencies
                      - taxClasses
                      - activeModules
                      - urls
                    properties:
                      contactInformation:
                        type: object
                        additionalProperties: false
                        required:
                          - eshopId
                          - eshopName
                          - eshopCategory
                          - url
                          - eshopTitle
                          - eshopSubtitle
                          - contactPerson
                          - email
                          - phone
                          - mobilePhone
                          - skypeAccount
                          - contactPhotoUrl
                        properties:
                          eshopId:
                            type: integer
                            examples:
                              - '9993'
                            description: e-shop ID
                          eshopName:
                            type: string
                            examples:
                              - Shoptet
                            description: name of the e-shop
                          eshopCategory:
                            type:
                              - string
                              - 'null'
                            description: category of the e-shop
                            examples:
                              - Technology
                          url:
                            type: string
                            description: >-
                              e-shop domain. Please note that domain can change,
                              so it is recommended to register
                              `eshop:projectDomain` webhook and update the
                              domain in your system if needed.
                            examples:
                              - http://www.domena-eshopu.cz
                          eshopTitle:
                            type: string
                            description: name of the store
                            examples:
                              - Shoptet
                          eshopSubtitle:
                            type:
                              - string
                              - 'null'
                            description: subtitle of the store
                            examples:
                              - Shop quickly and easily
                          contactPerson:
                            type:
                              - string
                              - 'null'
                            description: contact person (e-shop owner)
                            examples:
                              - John Doe
                          email:
                            type:
                              - string
                              - 'null'
                            description: contact person email
                            examples:
                              - info@domena-eshopu.cz
                          phone:
                            type:
                              - string
                              - 'null'
                            description: contact person phone
                            examples:
                              - '+420777888999'
                          mobilePhone:
                            type:
                              - string
                              - 'null'
                            description: contact person mobile phone
                            examples:
                              - '+420777888999'
                          skypeAccount:
                            type:
                              - string
                              - 'null'
                            description: contact person skype account
                            examples:
                              - john_doe
                          contactPhotoUrl:
                            type:
                              - string
                              - 'null'
                            description: contact person photo URL
                            examples:
                              - http://www.domena-eshopu.cz/picture.jpg
                      billingInformation:
                        type: object
                        additionalProperties: false
                        required:
                          - billingName
                          - address
                          - country
                          - registration
                          - phone
                          - email
                          - billingEmail
                        properties:
                          billingName:
                            type:
                              - string
                              - 'null'
                            description: trade company / e-shop owner
                            examples:
                              - John Doe
                          company:
                            type: object
                            additionalProperties: false
                            description: company invoicing informations
                            required:
                              - companyId
                              - taxId
                              - vatId
                            properties:
                              companyId:
                                type:
                                  - string
                                  - 'null'
                                description: Company registration number.
                                examples:
                                  - '12345678'
                              vatId:
                                type:
                                  - string
                                  - 'null'
                                description: VAT identification number.
                                examples:
                                  - CZ289324675
                              taxId:
                                type:
                                  - string
                                  - 'null'
                                description: >-
                                  TAX identification number. For Czech address,
                                  taxId is same as vatId.
                                examples:
                                  - CZ289324675
                          address:
                            type: object
                            additionalProperties: false
                            description: invoicing address
                            required:
                              - streetAddress
                              - city
                              - zip
                            properties:
                              streetAddress:
                                type:
                                  - string
                                  - 'null'
                                description: street, including house and landmark numbers
                                examples:
                                  - Roháčova 15
                              city:
                                type:
                                  - string
                                  - 'null'
                                description: city or town
                                examples:
                                  - Praha
                              zip:
                                type:
                                  - string
                                  - 'null'
                                description: ZIP or postal code.
                                examples:
                                  - 130 00
                          country:
                            type: object
                            additionalProperties: false
                            description: country of invoicing address
                            required:
                              - countryCode
                              - countryName
                            properties:
                              countryCode:
                                type: string
                                description: international 2-character country code
                                examples:
                                  - CZ
                              countryName:
                                type: string
                                description: country name
                                examples:
                                  - Czech Republic
                          registration:
                            type:
                              - string
                              - 'null'
                            description: reference tag
                            examples:
                              - C 12345
                          evNumber:
                            type:
                              - string
                              - 'null'
                            description: >-
                              Hungarian sole trader registration number. Only
                              for Hungary with enabled `Online Számla` module,
                              otherwise, it is null.
                            examples:
                              - '87654321'
                          phone:
                            type:
                              - string
                              - 'null'
                            description: main company telephone
                            examples:
                              - '+420777888999'
                          email:
                            type: string
                            description: >-
                              Main company e-mail. Use this email as a primary
                              one for communication with e-shop.
                            examples:
                              - novak@domena-eshopu.cz
                          billingEmail:
                            type:
                              - string
                              - 'null'
                            description: invoicing e-mail
                            examples:
                              - fakturace@domena-eshopu.cz
                      settings:
                        type: object
                        additionalProperties: false
                        required:
                          - vatPayer
                          - cashDeskOnly
                          - trackStockClaims
                          - maxProductAmount
                          - maxEmailAmount
                          - defaultPricelist
                          - eshopLanguage
                          - timezone
                          - dateFormat
                          - timeFormat
                          - internals
                          - exchangeRateFlip
                          - negativeStockAmount
                        properties:
                          vatPayer:
                            type: boolean
                            description: flag, whether the e-shop is a VAT payer
                            examples:
                              - true
                          cashDeskOnly:
                            type: boolean
                            description: >-
                              flag, whether the e-shop is operated exclusively
                              in cash desk mode
                            examples:
                              - false
                          trackStockClaims:
                            type: boolean
                            description: flag, activate stock claim count
                            examples:
                              - true
                          maxProductAmount:
                            type: integer
                            description: maximum number of products allowed
                            examples:
                              - 500
                          maxEmailAmount:
                            type: integer
                            description: maximum number of e-mails allowed
                            examples:
                              - 1000
                          defaultPricelist:
                            $ref: '#/components/schemas/pricelist'
                            description: default pricelist
                          eshopLanguage:
                            type: string
                            description: default language code of the e-shop
                            examples:
                              - cs
                          timezone:
                            type: string
                            description: e-shop timezone
                            examples:
                              - Europe/Prague
                          dateFormat:
                            type: string
                            description: eshop date format
                            examples:
                              - j.n.Y
                          timeFormat:
                            type: string
                            description: eshop time format
                            examples:
                              - H:i
                          internals:
                            type: string
                            description: >-
                              e-shop language internals - shows eshop internal
                              language settings, that can change some behavior
                              like EET, vat/tax, ...
                            examples:
                              - cs
                          exchangeRateFlip:
                            type: boolean
                            description: rate flipping
                            examples:
                              - false
                          negativeStockAmount:
                            type: string
                            enum:
                              - allowed
                              - no-show-product
                              - no-hide-navigation
                              - no-hide-product
                            description: >-
                              determines if negative stock buying is allowed.
                              Possible values: `allowed`, `no-show-product` (no,
                              but still show product), `no-hide-navigation` (no,
                              show product, hide in navigation),
                              `no-hide-product` (no, hide product)
                            examples:
                              - allowed
                          oss:
                            type: boolean
                            description: >-
                              Determines if eshop has the OSS (One stop shop)
                              tax mode enabled, this affects behavior of VAT
                              rates in the order.
                            examples:
                              - false
                      currencies:
                        type: array
                        items:
                          type: object
                          additionalProperties: false
                          required:
                            - code
                            - title
                            - isDefault
                            - isDefaultAdmin
                            - isDefaultDocuments
                            - isVisible
                            - exchangeRate
                            - priority
                            - display
                            - priceDecimalPlaces
                            - documentPriceDecimalPlaces
                            - rounding
                            - minimalOrderValue
                            - bankAccount
                          properties:
                            code:
                              type: string
                              description: currency (ISO format 3 characters)
                              examples:
                                - CZK
                            title:
                              type: string
                              description: currency name
                              examples:
                                - Crown
                            isDefault:
                              type: boolean
                              description: flag, whether this is the default shop currency
                              examples:
                                - true
                            isDefaultAdmin:
                              type: boolean
                              description: >-
                                flag, whether this is the default administration
                                currency
                              examples:
                                - true
                            isDefaultDocuments:
                              type: boolean
                              description: >-
                                flag, whether this is the default documents
                                (invoicing) currency
                              examples:
                                - true
                            isVisible:
                              type: boolean
                              description: >-
                                flag, whether the currency is visible in the
                                e-shop
                              examples:
                                - true
                            exchangeRate:
                              $ref: '#/components/schemas/typeExchangeRate'
                              description: >-
                                currency exchange rate. According to the
                                currency administration settings, the exchange
                                rate is updated regularly according to the Czech
                                National Bank rate, or is fixed.
                            priority:
                              type: integer
                              description: currency priority
                              examples:
                                - 1
                            display:
                              type: object
                              additionalProperties: false
                              required:
                                - text
                                - location
                                - decimalsSeparator
                                - thousandsSeparator
                              properties:
                                text:
                                  type: string
                                  description: currency symbol
                                  examples:
                                    - CZK
                                location:
                                  type: string
                                  enum:
                                    - left
                                    - right
                                  description: >-
                                    position of currency symbol, possible values
                                    are (left) and (right)
                                  examples:
                                    - right
                                decimalsSeparator:
                                  type: string
                                  description: currency display decimal separator
                                  examples:
                                    - ','
                                thousandsSeparator:
                                  type:
                                    - string
                                    - 'null'
                                  description: currency display thousands separator
                                  examples:
                                    - ' '
                            priceDecimalPlaces:
                              type: integer
                              description: number of decimal places
                              examples:
                                - 2
                            documentPriceDecimalPlaces:
                              type: integer
                              description: number of decimal places
                              examples:
                                - 2
                            rounding:
                              type: string
                              enum:
                                - none
                                - up
                                - down
                                - math
                              description: >-
                                way of rounding, possible values are (none),
                                (up), (down) and (math)
                              examples:
                                - up
                            minimalOrderValue:
                              $ref: '#/components/schemas/typePrice'
                              description: minimal order value
                              examples:
                                - '300.00'
                            bankAccount:
                              type: object
                              additionalProperties: false
                              required:
                                - accountNumber
                                - iban
                                - bic
                              properties:
                                accountNumber:
                                  type:
                                    - string
                                    - 'null'
                                  description: account number
                                  examples:
                                    - 19-2000145399/0800
                                iban:
                                  type:
                                    - string
                                    - 'null'
                                  description: IBAN
                                  examples:
                                    - CZ6508000000000192000145399
                                bic:
                                  type:
                                    - string
                                    - 'null'
                                  description: BIC
                                  examples:
                                    - GIBACZPX
                      taxClasses:
                        type: array
                        items:
                          type: object
                          additionalProperties: false
                          required:
                            - title
                            - rates
                            - isDefault
                          properties:
                            title:
                              type: string
                              description: descriptive name of tax rate
                              examples:
                                - Reduced VAT rate
                            rates:
                              type: array
                              description: the list of tax rate zones
                              items:
                                type: object
                                additionalProperties: false
                                required:
                                  - zone
                                  - vatRate
                                properties:
                                  zone:
                                    type: string
                                    description: zone name
                                    examples:
                                      - Default Zone
                                  vatRate:
                                    $ref: '#/components/schemas/typeVatRate'
                                    description: VAT rate
                                    examples:
                                      - '15.00'
                            isDefault:
                              type: boolean
                              description: flag, whether the default VAT rate is for e-shop
                              examples:
                                - true
                      activeModules:
                        type: array
                        items:
                          type: object
                          additionalProperties: false
                          required:
                            - title
                            - name
                          properties:
                            title:
                              type: string
                              description: module descriptive name
                              examples:
                                - Abandoned Cart
                            name:
                              type: string
                              description: module identifier
                              examples:
                                - abandonedCart
                      urls:
                        type: array
                        description: >-
                          e-shop significant URLs. Please note that domain can
                          change, so it is recommended to register
                          `eshop:projectDomain` webhook and update the domain in
                          your system if needed.
                        items:
                          type: object
                          additionalProperties: false
                          required:
                            - ident
                            - url
                          properties:
                            ident:
                              type: string
                              description: URL identifier
                              examples:
                                - admin-orders-list
                            url:
                              type: string
                              description: >-
                                URL (correct form based on e-shop and
                                administration)
                              examples:
                                - >-
                                  https://mujobchod.myshoptet.com/admin/prehled-objednavek
                      socialNetworks:
                        type: object
                        additionalProperties: false
                        required:
                          - facebookUrl
                          - facebookText
                          - twitterAccount
                          - instagramAccount
                        properties:
                          facebookUrl:
                            type:
                              - string
                              - 'null'
                            description: Facebook profile URL.
                            examples:
                              - https://www.facebook.com/eshop
                          facebookText:
                            type:
                              - string
                              - 'null'
                            description: visible text of the Facebook profile link.
                            examples:
                              - Follow us on Facebook
                          twitterAccount:
                            type:
                              - string
                              - 'null'
                            description: Twitter profile name.
                            examples:
                              - shoptet_sro
                          instagramAccount:
                            type:
                              - string
                              - 'null'
                            description: Instagram profile name.
                            examples:
                              - shoptet_sro
                      orderAdditionalFields:
                        type: array
                        items:
                          type: object
                          additionalProperties: false
                          required:
                            - index
                            - label
                          description: >-
                            additional order fields, must be requested using
                            `include=orderAdditionalFields`
                          properties:
                            index:
                              type: integer
                              description: >-
                                field number in the order listed in the e-shop
                                administration. Starts from 1.
                              examples:
                                - 1
                            label:
                              type: string
                              description: field label
                              examples:
                                - 1. pole
                      orderStatuses:
                        type: object
                        additionalProperties: false
                        required:
                          - statuses
                          - defaultStatus
                        description: >-
                          order statuses, must be requested using
                          `include=orderStatuses`
                        properties:
                          statuses:
                            type: array
                            items:
                              type: object
                              additionalProperties: false
                              required:
                                - id
                                - order
                                - name
                                - markAsPaid
                              properties:
                                id:
                                  type: integer
                                  description: >-
                                    order status identifier. System statuses are
                                    negative numbers, user positive.
                                  examples:
                                    - -4
                                order:
                                  type: integer
                                  description: >-
                                    status order according to administration
                                    numbering.
                                  examples:
                                    - 6
                                name:
                                  type: string
                                  description: >-
                                    name of the status, as named in the
                                    administration.
                                  examples:
                                    - Cancelled
                                markAsPaid:
                                  type: boolean
                                  description: >-
                                    flag, whether the order payment flag is set
                                    with this status.
                                  examples:
                                    - false
                          defaultStatus:
                            type: integer
                            description: default status of new orders.
                            examples:
                              - -1
                      paymentMethods:
                        type: object
                        additionalProperties: false
                        required:
                          - retail
                          - wholesale
                          - wholesaleActive
                        properties:
                          retail:
                            type: object
                            additionalProperties: false
                            required:
                              - methods
                              - defaultPayment
                            properties:
                              methods:
                                type: array
                                description: list of available retail payment methods.
                                items:
                                  type: object
                                  additionalProperties: false
                                  required:
                                    - guid
                                    - order
                                    - name
                                    - visible
                                  properties:
                                    guid:
                                      $ref: '#/components/schemas/typeGuid'
                                      description: payment method identifier
                                    order:
                                      type: integer
                                      description: >-
                                        order of method as set in e-shop
                                        administration.
                                      examples:
                                        - 1
                                    name:
                                      type: string
                                      description: >-
                                        payment method caption (customizable in
                                        administration)
                                      examples:
                                        - Cash on delivery
                                    visible:
                                      type: boolean
                                      description: >-
                                        flag, whether the payment method is
                                        offered to customers.
                                      examples:
                                        - true
                              defaultPayment:
                                type:
                                  - string
                                  - 'null'
                                description: default payment method
                                examples:
                                  - b57f91bb-e920-11e0-baa3-7dc668b75ca8
                          wholesale:
                            type: object
                            additionalProperties: false
                            required:
                              - methods
                              - defaultPayment
                            description: available payment methods for wholesale
                            properties:
                              methods:
                                type: array
                                items:
                                  type: object
                                  additionalProperties: false
                                  required:
                                    - guid
                                    - order
                                    - name
                                    - visible
                                  properties:
                                    guid:
                                      $ref: '#/components/schemas/typeGuid'
                                      description: payment method identifier
                                    order:
                                      type: integer
                                      description: >-
                                        order of method as set in e-shop
                                        administration.
                                      examples:
                                        - 1
                                    name:
                                      type: string
                                      description: >-
                                        payment method caption (customizable in
                                        administration)
                                      examples:
                                        - Cash on delivery
                                    visible:
                                      type: boolean
                                      description: >-
                                        flag, whether the payment method is
                                        offered to customers.
                                      examples:
                                        - true
                              defaultPayment:
                                type:
                                  - string
                                  - 'null'
                                description: default payment method
                                examples:
                                  - b57f91bb-e920-11e0-baa3-7dc668b75ca8
                          wholesaleActive:
                            type: boolean
                            description: >-
                              flag, whether wholesale payment methods are
                              activated in administration
                            examples:
                              - true
                      shippingMethods:
                        type: object
                        additionalProperties: false
                        required:
                          - retail
                          - wholesale
                          - wholesaleActive
                        description: >-
                          available transport options, must be requested using
                          `include=shippingMethods`
                        properties:
                          retail:
                            type: object
                            additionalProperties: false
                            required:
                              - methods
                              - defaultShipping
                            properties:
                              methods:
                                type: array
                                items:
                                  type: object
                                  additionalProperties: false
                                  required:
                                    - guid
                                    - order
                                    - name
                                    - visible
                                  properties:
                                    guid:
                                      $ref: '#/components/schemas/typeGuid'
                                      description: shipping method identifier
                                    order:
                                      type: integer
                                      description: >-
                                        order of method as set in e-shop
                                        administration.
                                      examples:
                                        - 1
                                    name:
                                      type: string
                                      description: >-
                                        shipping method caption (customizable in
                                        administration)
                                      examples:
                                        - Czech Post - in the post office
                                    visible:
                                      type: boolean
                                      description: >-
                                        flag, whether the shipping method is
                                        offered to customers.
                                      examples:
                                        - true
                              defaultShipping:
                                type:
                                  - string
                                  - 'null'
                                description: default shipping method
                                examples:
                                  - b57f91bb-e920-11e0-baa3-7dc668b75ca8
                          wholesale:
                            type: object
                            additionalProperties: false
                            required:
                              - methods
                              - defaultShipping
                            properties:
                              methods:
                                type: array
                                items:
                                  type: object
                                  additionalProperties: false
                                  required:
                                    - guid
                                    - order
                                    - name
                                    - visible
                                  properties:
                                    guid:
                                      $ref: '#/components/schemas/typeGuid'
                                      description: shipping method identifier
                                    order:
                                      type: integer
                                      description: >-
                                        order of method as set in e-shop
                                        administration.
                                      examples:
                                        - 1
                                    name:
                                      type: string
                                      description: >-
                                        shipping method caption (customizable in
                                        administration)
                                      examples:
                                        - Czech Post - in the post office
                                    visible:
                                      type: boolean
                                      description: >-
                                        flag, whether the shipping method is
                                        offered to customers.
                                      examples:
                                        - true
                              defaultShipping:
                                type:
                                  - string
                                  - 'null'
                                description: default shipping method
                                examples:
                                  - b57f91bb-e920-11e0-baa3-7dc668b75ca8
                          wholesaleActive:
                            type: boolean
                            description: >-
                              flag, whether wholesale shipping methods are
                              activated in administration
                            examples:
                              - true
                      imageCuts:
                        type: array
                        description: >-
                          the information on image cuts must be requested using
                          `include=imageCuts`
                        items:
                          type: object
                          additionalProperties: false
                          required:
                            - name
                            - width
                            - height
                            - urlPath
                            - cdnPath
                          properties:
                            name:
                              type: string
                              description: cut name
                              examples:
                                - big
                            width:
                              type:
                                - integer
                                - 'null'
                              description: >-
                                image width in given cut (`null` for original
                                image - cuts `orig`)
                              examples:
                                - 1024
                            height:
                              type:
                                - integer
                                - 'null'
                              description: >-
                                image height in given cut (`null` for original
                                image - cuts `orig`)
                              examples:
                                - 768
                            urlPath:
                              type: string
                              description: >-
                                URL path to images in given cut, including end
                                slash
                              examples:
                                - https://classic.shoptet.cz/user/shop/big/
                            cdnPath:
                              type: string
                              description: >-
                                Cdn URL path to images in given cut, including
                                end slash
                              examples:
                                - >-
                                  https://cdn-api.myshoptet.com/usr/classic.shoptet.cz/user/shop/big/
                      languages:
                        type: array
                        description: supported languages in eshop
                        items:
                          type: object
                          additionalProperties: false
                          properties:
                            code:
                              type: string
                              description: language code
                              examples:
                                - cs
                            currencyCode:
                              type:
                                - string
                                - 'null'
                              description: default currency of language
                              examples:
                                - CZK
                            dateFormat:
                              type: string
                              description: date format for this language
                              examples:
                                - j.n.Y
                            timeFormat:
                              type: string
                              description: time format for this language
                              examples:
                                - H:i
                            isVisible:
                              type: boolean
                              description: whether language is selectable in e-shop
                              examples:
                                - true
                            isDefault:
                              type: boolean
                              description: whether language is default
                              examples:
                                - true
                            priority:
                              type:
                                - integer
                                - 'null'
                              description: ordering property
                              examples:
                                - 1
                      trial:
                        type: boolean
                        description: flag, whether the e-shop is in trial mode
                        examples:
                          - false
                      countries:
                        type: array
                        description: >-
                          the information on countries must be requested using
                          `include=countries`
                        items:
                          type: object
                          additionalProperties: false
                          required:
                            - countryCode
                            - countryName
                            - companyIdPattern
                            - companyIdExample
                            - zipCodePattern
                          properties:
                            countryCode:
                              type: string
                              description: international 2-character country code
                              examples:
                                - CZ
                            countryName:
                              type: string
                              description: country name
                              examples:
                                - Czech Republic
                            companyIdPattern:
                              type:
                                - string
                                - 'null'
                              description: Validation pattern for company id
                              examples:
                                - ^\d{8}$
                            companyIdExample:
                              type:
                                - string
                                - 'null'
                              description: Example of company id
                              examples:
                                - '28935675'
                            zipCodePattern:
                              type:
                                - string
                                - 'null'
                              description: Validation pattern for zip code
                              examples:
                                - ^[1-7]\d{2}\s*\d{2}$
                      cashDesk:
                        type: object
                        additionalProperties: false
                        required:
                          - defaultOrderStatusId
                        description: eshop cash desk configuration
                        properties:
                          defaultOrderStatusId:
                            type:
                              - integer
                              - 'null'
                            description: default status of order after cash desk payment
                            examples:
                              - -1
                  errors:
                    $ref: '#/components/schemas/Errors'
                required:
                  - data
                  - errors
                additionalProperties: false
      summary: Eshop info
      operationId: getEshopInfo
      description: >-
        Information about queried e-shop (defined by token). Returns the contact
        data and e-shop settings.



        This endpoint has several sections, which are only sent when requested
        in the `include` parameter (see

        [Requested
        sections](#section/basic-principles-of-working-with-api/Section-on-demand).



        If you state the `include=imageCuts` parameter within the URL,
        information about the image cut will also be part of the response. For
        more information

        about the chapter [Product images](#section/Product-images).



        **Please note that languages section has meaning only if module foreign
        languages (Cizí jazyky) is enabled on current eshop. Otherwise you have
        to follow "eshopLanguage" attribute.**


        Value | Section

        --------|------

        orderAdditionalFields | The order can contain up to six additional
        fields, which can be freely used by the e-shop for its individual needs.
        The field names can be defined in administration and this section
        returns their names.

        orderStatuses | The order statuses, as defined for this e-shop.

        paymentMethods | Payment methods, as defined for this e-shop.

        shippingMethods | Transportation options, as defined for this e-shop.

        imageCuts | The information on image cuts (various sizes of the same
        image)

        countries | Informations about eshop supported countries (name,
        validation atterns, ...)

        cashDesk | Informations about eshop cash desk configuration
      tags:
        - Eshop
      parameters:
        - name: include
          in: query
          description: Sections to include
          example: >-
            orderAdditionalFields,orderStatuses,paymentMethods,shippingMethods,imageCuts,countries,cashDesk
          schema:
            type: string
        - $ref: '#/components/parameters/DefaultContentType'
  /api/eshop/design:
    get:
      responses:
        '200':
          description: OK
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    additionalProperties: false
                    required:
                      - template
                      - layout
                      - colorScheme
                      - fonts
                      - header
                      - background
                    properties:
                      template:
                        type: object
                        additionalProperties: false
                        description: e-shop template
                        required:
                          - name
                          - colorVariant
                        properties:
                          name:
                            type: string
                            description: >-
                              template name, enum value [swing, jazz, funk, pop,
                              rock, soul, techno, echo, tango, waltz, classic,
                              step, custom]
                            examples:
                              - Tango
                          colorVariant:
                            type: string
                            description: code for a specific color variant of a template
                            examples:
                              - 09-one
                      layout:
                        type: object
                        additionalProperties: false
                        required:
                          - homepage
                          - subPage
                          - productDetail
                        description: page layout
                        properties:
                          homepage:
                            type: string
                            enum:
                              - list
                              - listImage
                              - catalog2
                              - catalog3
                              - catalog4
                            description: >-
                              product detail, enum value [list, listImage,
                              catalog2, catalog3, catalog4]
                            examples:
                              - list
                          subPage:
                            type: string
                            enum:
                              - list
                              - listImage
                              - catalog2
                              - catalog3
                              - catalog4
                            description: >-
                              subpage, enum value [list, listImage, catalog2,
                              catalog3, catalog4]
                            examples:
                              - list
                          productDetail:
                            type: string
                            enum:
                              - list
                              - listImage
                              - catalog2
                              - catalog3
                              - catalog4
                            description: >-
                              product detail, enum value [list, listImage,
                              catalog2, catalog3, catalog4]
                            examples:
                              - list
                      colorScheme:
                        type: object
                        additionalProperties: false
                        required:
                          - conversionColor
                          - conversionColorHover
                          - color1
                          - color2
                          - color3
                          - color4
                        properties:
                          conversionColor:
                            type: string
                            description: conversion color
                            examples:
                              - '#ff0000'
                          conversionColorHover:
                            type: string
                            description: conversion color upon cursor hovering
                            examples:
                              - '#000000'
                          color1:
                            type: string
                            description: primary color of e-shop
                            examples:
                              - '#ff0000'
                          color2:
                            type: string
                            description: primary color upon cursor hovering
                            examples:
                              - '#000000'
                          color3:
                            type: string
                            description: >-
                              secondary e-shop color (can be `null` - not for
                              all templates)
                            examples:
                              - '#ff0000'
                          color4:
                            type: string
                            description: >-
                              secondary e-shop color upon cursor hovering (can
                              be `null` - not for all templates)
                            examples:
                              - '#000000'
                      fonts:
                        type: object
                        additionalProperties: false
                        required:
                          - heading
                          - text
                        properties:
                          heading:
                            type: string
                            examples:
                              - Open Sans
                          text:
                            type: string
                            examples:
                              - Open Sans
                      header:
                        type: object
                        additionalProperties: false
                        required:
                          - backgroundImage
                          - image
                          - logo
                          - color
                        properties:
                          backgroundImage:
                            type:
                              - string
                              - 'null'
                            description: background image (can be `null`)'
                            examples:
                              - https://dummy.myshoptet.com/cms/img/blank.gif
                          image:
                            type:
                              - string
                              - 'null'
                            description: header image (can be `null`)
                            examples:
                              - >-
                                https://dummy.myshoptet.com/user/front_images/front.jpg
                          logo:
                            type:
                              - string
                              - 'null'
                            description: e-shop logo in header (can be `null`)
                            examples:
                              - >-
                                https://dummy.myshoptet.com/user/logos/shoptet-logo.png
                          color:
                            type:
                              - string
                              - 'null'
                            description: >-
                              Header background color for templates Techno,
                              Tango, Classic, Step and Disco (can be `null`)
                            examples:
                              - '#000000'
                      background:
                        type: object
                        additionalProperties: false
                        required:
                          - enabled
                          - color
                          - image
                        properties:
                          enabled:
                            type: boolean
                            description: flag, whether background is enabled
                            examples:
                              - true
                          color:
                            type:
                              - object
                              - 'null'
                            additionalProperties: false
                            required:
                              - enabled
                              - color
                            properties:
                              enabled:
                                type: boolean
                                description: flag, whether the background color is on
                                examples:
                                  - false
                              color:
                                type:
                                  - string
                                  - 'null'
                                description: background color (can be `null`)
                                examples:
                                  - '#000000'
                          image:
                            type:
                              - object
                              - 'null'
                            additionalProperties: false
                            required:
                              - url
                              - attachment
                              - position
                            properties:
                              url:
                                type:
                                  - string
                                  - 'null'
                                description: background image URL (can be `null`)
                                examples:
                                  - >-
                                    https://dummy.myshoptet.com/user/bg-image.jpg
                              attachment:
                                type: string
                                enum:
                                  - scroll
                                  - fixed
                                description: mounting, enum value [scroll, fixed]
                                examples:
                                  - scroll
                              position:
                                type: string
                                enum:
                                  - center
                                  - tile
                                description: location, enum value [center, tile]
                                examples:
                                  - center
                  errors:
                    $ref: '#/components/schemas/Errors'
                required:
                  - data
                  - errors
                additionalProperties: false
      summary: E-shop design
      operationId: getEshopDesign
      description: >-
        Information about queried e-shop template setting (defined by
        token).         

        `backgroundImage` value can internally contain the link to a
        transparent       

        reference gif, in this case the API returns a NULL value.
      tags:
        - Eshop
      parameters:
        - $ref: '#/components/parameters/DefaultContentType'
  /api/eshop/customer-fields:
    get:
      responses:
        '200':
          description: OK
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    additionalProperties: false
                    required:
                      - billingAddress
                      - deliveryAddress
                      - billingInfo
                      - contactInfo
                    properties:
                      billingAddress:
                        type: object
                        additionalProperties: false
                        description: invoicing address
                        required:
                          - company
                          - fullName
                          - street
                          - houseNumber
                          - city
                          - district
                          - zip
                          - countryCode
                        properties:
                          company:
                            $ref: '#/components/schemas/typeCustomerFieldValue'
                            description: >-
                              company name, enum [`required`, `optional`,
                              `hidden`]
                          fullName:
                            $ref: '#/components/schemas/typeCustomerFieldValue'
                            description: full name, enum [`required`, `optional`, `hidden`]
                          street:
                            $ref: '#/components/schemas/typeCustomerFieldValue'
                            description: street, enum [`required`, `optional`, `hidden`]
                          houseNumber:
                            $ref: '#/components/schemas/typeCustomerFieldValue'
                            description: >-
                              house number, enum [`required`, `optional`,
                              `hidden`]
                          city:
                            $ref: '#/components/schemas/typeCustomerFieldValue'
                            description: city/town, enum [`required`, `optional`, `hidden`]
                          district:
                            $ref: '#/components/schemas/typeCustomerFieldValue'
                            description: county, enum [`required`, `optional`, `hidden`]
                          zip:
                            $ref: '#/components/schemas/typeCustomerFieldValue'
                            description: zip code, enum [`required`, `optional`, `hidden`]
                          countryCode:
                            $ref: '#/components/schemas/typeCustomerFieldValue'
                            description: country, enum [`required`, `optional`, `hidden`]
                      deliveryAddress:
                        type: object
                        additionalProperties: false
                        description: delivery address
                        required:
                          - company
                          - fullName
                          - street
                          - houseNumber
                          - city
                          - district
                          - zip
                          - countryCode
                        properties:
                          company:
                            $ref: '#/components/schemas/typeCustomerFieldValue'
                            description: >-
                              company name, enum [`required`, `optional`,
                              `hidden`]
                          fullName:
                            $ref: '#/components/schemas/typeCustomerFieldValue'
                            description: full name, enum [`required`, `optional`, `hidden`]
                          street:
                            $ref: '#/components/schemas/typeCustomerFieldValue'
                            description: street, enum [`required`, `optional`, `hidden`]
                          houseNumber:
                            $ref: '#/components/schemas/typeCustomerFieldValue'
                            description: >-
                              house number, enum [`required`, `optional`,
                              `hidden`]
                          city:
                            $ref: '#/components/schemas/typeCustomerFieldValue'
                            description: city/town, enum [`required`, `optional`, `hidden`]
                          district:
                            $ref: '#/components/schemas/typeCustomerFieldValue'
                            description: county, enum [`required`, `optional`, `hidden`]
                          zip:
                            $ref: '#/components/schemas/typeCustomerFieldValue'
                            description: zip code, enum [`required`, `optional`, `hidden`]
                          countryCode:
                            $ref: '#/components/schemas/typeCustomerFieldValue'
                            description: country, enum [`required`, `optional`, `hidden`]
                      billingInfo:
                        type: object
                        additionalProperties: false
                        description: company data
                        required:
                          - companyId
                          - taxId
                        properties:
                          companyId:
                            $ref: '#/components/schemas/typeCustomerFieldValue'
                            description: >-
                              company registration number, enum [`required`,
                              `optional`, `hidden`]
                          taxId:
                            $ref: '#/components/schemas/typeCustomerFieldValue'
                            description: >-
                              VAT number, enum [`required`, `optional`,
                              `hidden`]
                      contactInfo:
                        type: object
                        additionalProperties: false
                        description: contact information
                        required:
                          - phone
                          - email
                          - birthday
                        properties:
                          phone:
                            $ref: '#/components/schemas/typeCustomerFieldValue'
                            description: >-
                              phone number, enum [`required`, `optional`,
                              `hidden`]
                          email:
                            $ref: '#/components/schemas/typeCustomerFieldValue'
                            description: >-
                              email address, enum [`required`, `optional`,
                              `hidden`]
                          birthday:
                            $ref: '#/components/schemas/typeCustomerFieldValue'
                            description: >-
                              birth date, enum [`required`, `optional`,
                              `hidden`]
                  errors:
                    $ref: '#/components/schemas/Errors'
                required:
                  - data
                  - errors
                additionalProperties: false
      summary: E-shop mandatory fields
      operationId: getEshopMandatoryFields
      description: >-
        Information about queried e-shop mandatory fields setting (defined by
        token). 

        Returns the values, which are set by e-shop administrator in 

        Settings -> Customers -> Mandatory fields.
      tags:
        - Eshop
      parameters:
        - $ref: '#/components/parameters/DefaultContentType'
  /api/products:
    get:
      responses:
        '200':
          description: OK
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    additionalProperties: false
                    required:
                      - products
                      - paginator
                    properties:
                      products:
                        type: array
                        items:
                          type: object
                          additionalProperties: false
                          required:
                            - guid
                            - name
                            - type
                            - url
                            - visibility
                            - brand
                            - defaultCategory
                            - creationTime
                            - changeTime
                            - supplier
                          properties:
                            guid:
                              $ref: '#/components/schemas/typeGuidUnlimited'
                              description: unique product indicator
                            name:
                              type: string
                              description: product name
                              examples:
                                - Pelle 1978
                            type:
                              type: string
                              description: >-
                                product type (`product`, `bazar`...) - see also
                                [Product type code
                                list](#section/code-lists/Product-types)
                              examples:
                                - product
                            url:
                              type:
                                - string
                                - 'null'
                            visibility:
                              type: string
                              description: >-
                                visibility of product (`normal`, `hidden` ...) -
                                see also [Product visibility code
                                list](#section/code-lists/Product-visibility)
                              examples:
                                - normal
                            creationTime:
                              $ref: '#/components/schemas/typeDateTime'
                              description: >-
                                date and time of product creation (date in ISO
                                8601 format)
                            changeTime:
                              type:
                                - string
                                - 'null'
                              $ref: '#/components/schemas/typeDateTime'
                              description: >-
                                date and time of last product change (date in
                                ISO 8601 format)
                            brand:
                              type:
                                - object
                                - 'null'
                              $ref: '#/components/schemas/brandNamed'
                              description: product brand (or manufacturer, possibly)
                            supplier:
                              type:
                                - object
                                - 'null'
                              $ref: '#/components/schemas/supplier'
                              description: product supplier
                            defaultCategory:
                              type: object
                              additionalProperties: false
                              description: default product category
                              required:
                                - guid
                                - name
                                - visible
                              properties:
                                guid:
                                  type:
                                    - string
                                    - 'null'
                                  $ref: '#/components/schemas/typeGuid'
                                  description: category unique identifier (can be `null`)
                                name:
                                  type:
                                    - string
                                    - 'null'
                                  description: category description
                                  examples:
                                    - Watches
                                visible:
                                  type:
                                    - boolean
                                    - 'null'
                                  description: whether the parameter is visible
                                  examples:
                                    - true
                            mainImage:
                              type:
                                - object
                                - 'null'
                              additionalProperties: false
                              required:
                                - name
                                - seoName
                                - cdnName
                                - priority
                                - description
                                - changeTime
                              description: >-
                                image information (filled in only on request. if
                                `include=images` parameter is defined)
                              properties:
                                name:
                                  type: string
                                  description: >-
                                    image file name, also serves as an
                                    identifier for the image of the product. To
                                    assemble complete URL, it is added to the
                                    `urlPath` obtained from the endpoint e-shop
                                    info `/api/eshop?include=imageCuts`.
                                  examples:
                                    - 100.jpg
                                seoName:
                                  type: string
                                  description: >-
                                    file name modified for SEO - a short label
                                    is attached.
                                  examples:
                                    - 100_purple-apple.jpg
                                cdnName:
                                  type: string
                                  description: >-
                                    same as `seoName` with attached hashed last
                                    image change time.
                                  examples:
                                    - 100_purple-apple.jpg?59393c3a
                                priority:
                                  type: number
                                  description: >-
                                    the key for the sequence of images matching
                                    the sequence in administration - it's not
                                    necessarily from the first, and the series
                                    may contain gaps.
                                  examples:
                                    - 1
                                description:
                                  type:
                                    - string
                                    - 'null'
                                  description: image label
                                  examples:
                                    - Fresh purple apple for Snow White
                                changeTime:
                                  type:
                                    - string
                                    - 'null'
                                  $ref: '#/components/schemas/typeDateTime'
                                  description: >-
                                    last image change time If you are saving
                                    images together, you can use this timestamp
                                    to indicate if you need to reload the image.
                            voteAverageScore:
                              $ref: '#/components/schemas/typeAmount'
                              description: Average score of product reviews
                              examples:
                                - 2.6
                            voteCount:
                              type:
                                - integer
                                - 'null'
                              description: Count of product reviews
                              examples:
                                - 16
                      paginator:
                        $ref: '#/components/schemas/paginator'
                  errors:
                    $ref: '#/components/schemas/Errors'
                required:
                  - data
                  - errors
                additionalProperties: false
      summary: List of products
      operationId: getListOfProducts
      description: >-
        Returns the list of products - only basic info and GUID, using this you
        can determine the details 

        with another API call. Endpoint supports
        [paging](#section/basic-principles-of-working-with-api/Paging).



        This endpoint has several sections, which are sent only when requested
        in the `include` parameter (see

        [Requested
        sections](#section/basic-principles-of-working-with-api/Section-on-demand).



        If you state the `include=images` parameter within the URL, then
        information about main product image will 

        also be part of the response. For more information about the chapter
        [Product images](#section/Product-images).



        Please note it is better to use List of all products endpoint for
        getting all products from eshop.
      tags:
        - Products
      parameters:
        - name: creationTimeFrom
          in: query
          description: date of product creation, lower limit. Optional.
          example: 2017-02-28T17:04:47+0100
          schema:
            type: string
        - name: creationTimeTo
          in: query
          description: date of product creation, upper limit. Optional.
          example: 2028-02-28T17:04:47+0100
          schema:
            type: string
        - name: visibility
          in: query
          description: >-
            product visibility (visible, hidden, only for logged-in users...) -

            see also [Product visibility code
            list](#section/Code-lists/Product-visibility)

            Optional.
          example: visible
          schema:
            type: string
        - name: type
          in: query
          description: |-
            product type (product, service, bazar...) - see also [Product type
            code list](#section/Code-lists/Product-types). Optional.
          example: product
          schema:
            type: string
        - name: brandName
          in: query
          description: product brand (manufacturer) name. Optional.
          example: Storm
          schema:
            type: string
        - name: brandCode
          in: query
          description: |-
            product brand (manufacturer) code from `/api/brands` endpoint.
            Optional.
          example: storm
          schema:
            type: string
        - name: defaultCategoryGuid
          in: query
          description: product default category. Optional.
          example: 5c499a23-70ac-11e9-9208-08002774f818
          schema:
            type: string
        - name: categoryGuid
          in: query
          description: |-
            product category - only the products added to specific category will
            be included. Optional.
          example: 5c499a23-70ac-11e9-9208-08002774f818
          schema:
            type: string
        - name: flag
          in: query
          description: product flag - only products with selected flag will be included
          example: action
          schema:
            type: string
        - name: include
          in: query
          description: optional parts of response
          example: images
          schema:
            type: string
        - name: supplierGuid
          in: query
          description: |-
            supplier GUID - only products with selected supplier will be
            included
          example: 16a67ec6-d957-11e0-b04f-57a43310b768
          schema:
            type: string
        - name: changeTimeFrom
          in: query
          description: date of product last update, lower limit. Optional.
          example: 2017-02-28T17:04:47+0100
          schema:
            type: string
        - name: changeTimeTo
          in: query
          description: date of product last update, upper limit. Optional.
          example: 2028-02-28T17:04:47+0100
          schema:
            type: string
        - $ref: '#/components/parameters/DefaultContentType'
    post:
      responses:
        '201':
          description: Created
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    additionalProperties: false
                    required:
                      - product
                    properties:
                      product:
                        $ref: '#/components/schemas/product'
                  errors:
                    $ref: '#/components/schemas/Errors'
                required:
                  - data
                  - errors
                additionalProperties: false
        '403':
          description: Forbidden
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    type:
                      - object
                      - 'null'
                  errors:
                    $ref: '#/components/schemas/Errors'
              example:
                data: null
                errors:
                  - errorCode: missing-module
                    message: >-
                      Unable to process request with consumptionTax include as
                      "consumptionTax" module is not active.
                    instance: consumptionTax
        '422':
          description: Unprocessable Entity
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    type: 'null'
                  errors:
                    $ref: '#/components/schemas/Errors'
              example:
                data: null
                errors:
                  - errorCode: invalid-request-data
                    message: >-
                      The property consumptionTaxId is not allowed. Module
                      "consumptionTax" required.
                    instance: payload
      summary: Product insertion
      operationId: createProduct
      description: |-
        This endpoint allows you to insert products into Shoptet. You can use it
        for an import from an external system.

        Request is sent in JSON format in its body. For detailed description of
        items, which can be provided, see the right-most

        pane, section "Request" » "Attributes".


        **Currently it is possible to insert only a basic product attributes**


        When creating product without variants, add one variant to `variants`
        array and it will be created as product without variants,

        but with values specified in the `variant`.


        When creating product with multiple variants, you must specify
        `parameters` which are different in each variant (variant A with

        color black and size XXL and variant B with color yellow and size XXL is
        correct, but two variants with color black and size XXL is not correct).

        Also, `nameIndex` must be unique in a variant (variant A with color
        black and color white is not correct).
      tags:
        - Products
      parameters:
        - name: include
          in: query
          description: Optional parts of response
          example: >-
            images,variantParameters,allCategories,flags,descriptiveParameters,measureUnit,surchargeParameters,setItems,filteringParameters,recyclingFee,consumptionTax,warranty,sortVariants,relatedVideos,perPricelistPrices
          schema:
            type: string
        - $ref: '#/components/parameters/DefaultContentType'
      requestBody:
        content:
          application/vnd.shoptet.v1.0+json:
            schema:
              type: object
              required:
                - data
              properties:
                data:
                  type: object
                  required:
                    - name
                    - defaultCategoryGuid
                    - variants
                  additionalProperties: false
                  properties:
                    guid:
                      $ref: '#/components/schemas/typeGuid'
                      description: Product GUID. Must be unique if set.
                    type:
                      type: string
                      enum:
                        - product
                        - bazar
                        - service
                        - product-set
                      description: >-
                        Product type. Optional, default value 'product'. Please
                        note that 'product-set' requires 'sets' module to be
                        enabled. Enum - see [Product type code
                        list](#section/code-lists/Product-types)
                      examples:
                        - product
                        - bazar
                        - service
                        - product-set
                    visibility:
                      type: string
                      enum:
                        - hidden
                        - visible
                        - blocked
                        - show-registered
                        - block-unregistered
                        - cash-desk-only
                        - detail-only
                      description: >-
                        Product visibility. Optional, default value `visible`.
                        Enum - see [Product visibility code
                        list](#section/code-lists/Product-visibility)
                      examples:
                        - hidden
                    name:
                      type: string
                      minLength: 1
                      maxLength: 250
                      description: >-
                        Product's name. Mandatory. Maximal length of 250
                        characters.
                      examples:
                        - Velká čokoláda
                    adult:
                      type: boolean
                      description: >-
                        Whether the product is for adults only. Optional,
                        default value `false`.
                      examples:
                        - true
                    shortDescription:
                      type:
                        - string
                        - 'null'
                      description: Product's short description.
                      examples:
                        - Velice kvalitní a dobrá čokoláda.
                    description:
                      type:
                        - string
                        - 'null'
                      description: Product's full description.
                      examples:
                        - >-
                          <p>Velice kvalitní a dobrá čokoláda. Chutná vždy
                          dobře. <b>Neobsahuje arašídy.</b></p>
                    metaTitle:
                      type:
                        - string
                        - 'null'
                      minLength: 1
                      maxLength: 255
                      description: Product's seo title. Maximal length of 255 characters.
                      examples:
                        - Velice kvalitní a dobrá čokoláda.
                    metaDescription:
                      type:
                        - string
                        - 'null'
                      description: Product's full description.
                      examples:
                        - >-
                          Velice kvalitní a dobrá čokoláda. Chutná vždy dobře.
                          Neobsahuje arašídy.
                    conditionGrade:
                      type:
                        - string
                        - 'null'
                      minLength: 1
                      description: >-
                        Grade condition of second-hand product. Allowed only for
                        `bazar` type.
                      examples:
                        - used
                    conditionDescription:
                      type:
                        - string
                        - 'null'
                      minLength: 1
                      description: >-
                        Condition description of second-hand product. Allowed
                        only for `bazar` type.
                      examples:
                        - Without original package.
                    defaultCategoryGuid:
                      $ref: '#/components/schemas/typeGuid'
                      description: Product's default category's GUID. Mandatory.
                    brandCode:
                      type: string
                      minLength: 1
                      description: Product's brand. Must exist if set.
                      examples:
                        - milka
                    internalNote:
                      type: string
                      minLength: 1
                      description: Product internal note.
                      examples:
                        - Internal note for product manager.
                    supplierGuid:
                      type: string
                      $ref: '#/components/schemas/typeGuid'
                      minLength: 1
                      description: Supplier GUID. Must exist if set.
                    categoryGuids:
                      type: array
                      minItems: 1
                      items:
                        $ref: '#/components/schemas/typeGuid'
                    warrantyId:
                      type:
                        - integer
                        - 'null'
                      description: Warranty ID.
                      examples:
                        - 1
                    flags:
                      type: array
                      description: Must exist if set.
                      minItems: 1
                      items:
                        type: object
                        additionalProperties: false
                        required:
                          - code
                        properties:
                          code:
                            type: string
                            description: flag identifier.
                            examples:
                              - new
                          dateFrom:
                            $ref: '#/components/schemas/typeDate'
                            description: Date from which the flag is valid.
                          dateTo:
                            $ref: '#/components/schemas/typeDate'
                            description: Date to which the flag is valid.
                    descriptiveParameters:
                      type: array
                      description: Product descriptive parameters.
                      minItems: 1
                      items:
                        type: object
                        additionalProperties: false
                        required:
                          - name
                        properties:
                          name:
                            type: string
                            minLength: 1
                            maxLength: 255
                            description: Parameter name.
                            examples:
                              - Material
                          value:
                            type:
                              - string
                              - 'null'
                            description: value of the descriptive parameter.
                            examples:
                              - Cotton
                          description:
                            type:
                              - string
                              - 'null'
                            description: Description of the descriptive parameter.
                            examples:
                              - Material the shirt is made of
                          priority:
                            type:
                              - integer
                              - 'null'
                            maximum: 99999
                            description: Priority of the parameter.
                            examples:
                              - 1
                    filteringParameters:
                      type: array
                      minItems: 1
                      items:
                        type: object
                        additionalProperties: false
                        required:
                          - code
                          - values
                        properties:
                          code:
                            type: string
                            minLength: 1
                            maxLength: 255
                            description: Filtering parameter code.
                            examples:
                              - action
                          values:
                            type: array
                            minItems: 1
                            description: Product filtering parameter values.
                            items:
                              type: string
                    surchargeParameters:
                      type: array
                      minItems: 1
                      description: >-
                        Product surcharge parameters. Not allowed for products
                        with multiple tax classes.
                      items:
                        $ref: '#/components/schemas/productRequestSurchargeParameter'
                    variants:
                      type: array
                      description: Product's variants
                      minItems: 1
                      items:
                        type: object
                        additionalProperties: false
                        properties:
                          code:
                            type: string
                            minLength: 1
                            maxLength: 64
                            description: >-
                              Variant's code. Must be unique if set. Generated
                              automatically if not set.
                            examples:
                              - '0035'
                          ean:
                            type:
                              - string
                              - 'null'
                            maxLength: 255
                            description: Variant's ean.
                            examples:
                              - '8594001234567'
                          unitId:
                            type: integer
                            description: Variant's unit id. Optional
                            examples:
                              - -1
                          weight:
                            type:
                              - string
                              - 'null'
                            $ref: '#/components/schemas/typeWeightRequest'
                            description: >-
                              Variant's weight in kilograms. 3 decimal places,
                              and maximum value of 99999.999.
                            examples:
                              - '13.500'
                          width:
                            type: string
                            $ref: '#/components/schemas/typeDimension'
                            description: >-
                              width of the product in cm. 1 decimal place,
                              maximum 9999.9.
                          height:
                            type: string
                            $ref: '#/components/schemas/typeDimension'
                            description: >-
                              height of the product in cm. 1 decimal place,
                              maximum 9999.9.
                          depth:
                            type: string
                            $ref: '#/components/schemas/typeDimension'
                            description: >-
                              depth of the product in cm. 1 decimal place,
                              maximum 9999.9.
                          visible:
                            type: boolean
                            description: Is variant visible?
                            examples:
                              - true
                          price:
                            type: string
                            $ref: '#/components/schemas/typePrice'
                            description: Product price.
                            examples:
                              - '123.45'
                          currencyCode:
                            type: string
                            $ref: '#/components/schemas/typeCurrencyCode'
                          manufacturerCode:
                            type:
                              - string
                              - 'null'
                            maxLength: 32
                            description: Variant's manufacturer code.
                            examples:
                              - OKI
                          pluCode:
                            type:
                              - string
                              - 'null'
                            maxLength: 16
                            description: Variant's plu.
                            examples:
                              - '0828'
                          isbn:
                            type:
                              - string
                              - 'null'
                            maxLength: 32
                            description: Variant's ISBN.
                            examples:
                              - 978-80-251-0000-0
                          serialNo:
                            type:
                              - string
                              - 'null'
                            maxLength: 32
                            description: Variant's serial number.
                            examples:
                              - B412
                          mpn:
                            type:
                              - string
                              - 'null'
                            maxLength: 32
                            description: Variant's MPN.
                            examples:
                              - H3T5-87
                          availabilityId:
                            type:
                              - number
                              - 'null'
                            description: Product availability id
                            examples:
                              - -1
                          availabilityWhenSoldOutId:
                            type:
                              - number
                              - 'null'
                            description: Product availability id when not stocked
                            examples:
                              - -3
                          parameters:
                            type: array
                            description: Variant's parameters
                            items:
                              type: object
                              additionalProperties: false
                              required:
                                - nameIndex
                                - valueIndex
                              properties:
                                nameIndex:
                                  type: string
                                  description: indexName of parameter name
                                  examples:
                                    - color
                                valueIndex:
                                  type: string
                                  description: indexName of parameter value
                                  examples:
                                    - red
                          minStockSupply:
                            type:
                              - string
                              - 'null'
                            $ref: '#/components/schemas/typePositiveAmount'
                            description: Minimum stock supply.
                            examples:
                              - '10.000'
                          stocksLocations:
                            type: array
                            description: Locations and amounts in stocks.
                            items:
                              type: object
                              additionalProperties: false
                              required:
                                - stockId
                              properties:
                                stockId:
                                  type: integer
                                  description: >-
                                    Id of stock. Required if stocksLocations is
                                    set. Must fit existing stock Id. Check List
                                    of Stocks.
                                  examples:
                                    - 1
                                amount:
                                  type:
                                    - string
                                    - 'null'
                                  $ref: '#/components/schemas/typeAmount'
                                  description: Current quantity in stock.  0 if not set.
                                  examples:
                                    - 50
                                location:
                                  type: string
                                  description: Stock location.
                                  examples:
                                    - H6/M11/R13
                          negativeStockAllowed:
                            type: boolean
                            description: Product stock can be in negative numbers
                            examples:
                              - true
                          measureUnit:
                            type:
                              - object
                              - 'null'
                            $ref: '#/components/schemas/measureUnit'
                            description: Product variant measure and packaging units.
                          recyclingFeeId:
                            type:
                              - integer
                              - 'null'
                            description: Product recycling fee id
                            examples:
                              - 123
                          consumptionTaxId:
                            type:
                              - integer
                              - 'null'
                            description: Product consumption tax identifier
                            examples:
                              - 1
                          amountDecimalPlaces:
                            type: integer
                            enum:
                              - 0
                              - 1
                              - 2
                              - 3
                            description: Amount of product variant decimal places.
                            examples:
                              - 2
                          atypicalBilling:
                            type: boolean
                            description: Has atypical billing?
                            examples:
                              - true
                          atypicalShipping:
                            type: boolean
                            description: Has atypical shipping?
                            examples:
                              - true
                    indexName:
                      type: string
                      description: >-
                        String which defines product url. Value is sanitized to
                        fits url needs. If value is not present, indexName is
                        created from product name.
                      examples:
                        - baleriny-modre-s-puntiky
                      minLength: 1
                    relatedVideos:
                      type: array
                      description: Product related videos.
                      items:
                        type: object
                        additionalProperties: false
                        required:
                          - code
                          - type
                        properties:
                          code:
                            type: string
                            maxLength: 32
                            description: related video code.
                            examples:
                              - zpvmPA3me7o
                          title:
                            type:
                              - string
                              - 'null'
                            maxLength: 128
                            description: related video title.
                            examples:
                              - Test video
                          type:
                            enum:
                              - youtube
                              - youtube-short
                            description: related video type.
                            examples:
                              - youtube
  /api/products/{guid}/copy:
    post:
      responses:
        '201':
          description: Created
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    $ref: '#/components/schemas/product'
                  errors:
                    $ref: '#/components/schemas/Errors'
                required:
                  - data
                  - errors
                additionalProperties: false
        '403':
          description: Forbidden
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    type:
                      - object
                      - 'null'
                  errors:
                    $ref: '#/components/schemas/Errors'
              example:
                data: null
                errors:
                  - errorCode: missing-module
                    message: >-
                      Unable to process request with perStockAmounts as
                      "wholesale" module is not active.
                    instance: wholesale
                  - errorCode: missing-module
                    message: >-
                      Unable to process request with consumptionTax include as
                      "consumptionTax" module is not active.
                    instance: consumptionTax
        '404':
          description: Not Found
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    type:
                      - object
                      - 'null'
                  errors:
                    $ref: '#/components/schemas/Errors'
              example:
                data: null
                errors:
                  - errorCode: product-not-found
                    message: >-
                      Product with identificator
                      "93bc0dbe-7481-11e8-8216-002590dad85e" not found.
                    instance: 93bc0dbe-7481-11e8-8216-002590dad85e
        '422':
          description: Unprocessable Entity
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    type: 'null'
                  errors:
                    $ref: '#/components/schemas/Errors'
              example:
                data: null
                errors:
                  - errorCode: invalid-request-data
                    message: >-
                      Stocks cannot be copied without pricelist. Property
                      `pricelist` must be set to `true`.
                    instance: stocks
      summary: Product copy
      operationId: productCopy
      parameters:
        - name: guid
          in: path
          description: Product guid
          required: true
          example: 93bc0dbe-7481-11e8-8216-002590dad85e
          schema:
            type: string
        - $ref: '#/components/parameters/DefaultContentType'
      description: >-
        This endpoint allows you to copy a product identified by a GUID.


        The new product will have the same attributes as the original product.
        Many settings can be copied from the original product,but some settings
        require an active module. See the details below.


        By default, all parameters are copied and set to true unless specified
        otherwise. If you only want to copy certain parameters, select those you
        want to copy and set the others to false. If you wish to copy all
        parameters, you don't need to include them in the request list at all.


        Important note: If you previously had any active modules (such as
        Heureka, Seznam, GlobalSaleVat) that are no longer active, the resulting
        data may differ slightly because data requiring an active module will
        not be copied in this case.
      tags:
        - Products
      requestBody:
        content:
          application/vnd.shoptet.v1.0+json:
            schema:
              type: object
              required:
                - data
              properties:
                data:
                  type: object
                  minProperties: 1
                  additionalProperties: false
                  required:
                    - name
                  properties:
                    name:
                      type: string
                      minLength: 1
                      maxLength: 250
                      description: >-
                        Product`s name. Maximal length of 250 characters.
                        Mandatory.
                      examples:
                        - Velká čokoláda
                    isVisible:
                      type: boolean
                      description: >-
                        Determine whether the copied product will be `visible`
                        or `hidden`. This is optional; if not set, the
                        visibility will be inherited from the source product.
                      examples:
                        - true
                    copyProperties:
                      type: object
                      additionalProperties: false
                      description: >-
                        Properties to copy. All properties are optional; if not
                        set, the default value is true.
                      minProperties: 1
                      properties:
                        generalData:
                          type: boolean
                          description: >-
                            Whether to copy general data, which includes
                            'shortDescription', 'description', 'internalNote',
                            'manufacturer', 'warranty', 'supplier', 'itemType'
                            and 'visibility' (if not set `isVisible` property).
                          examples:
                            - true
                        images:
                          type: boolean
                          description: Whether to copy product gallery images.
                          examples:
                            - true
                        images360:
                          type: boolean
                          description: Whether to copy product 360° gallery images.
                          examples:
                            - true
                        pricelist:
                          type: boolean
                          description: >-
                            Whether to copy the pricelist with all settings,
                            including any variants from the source product.
                          examples:
                            - true
                        categories:
                          type: boolean
                          description: Whether to copy all categories.
                          examples:
                            - true
                        properties:
                          type: boolean
                          description: >-
                            Whether to copy properties, which includes
                            `descriptiveParameters` and `surchargeParameters`.
                          examples:
                            - true
                        related:
                          type: boolean
                          description: >-
                            Whether to copy all related properties. It includes
                            `relatedProducts` (only when the relatedProducts
                            module is active), `alternativeProducts` (only when
                            the `alternativeProducts` module is active),
                            `relatedVideos` (only when the `relatedVideos`
                            module is active), `relatedGifts` (only when the
                            `gifts` module is active) and `downPayments` (only
                            when the `downPayments` module is active).
                          examples:
                            - true
                        advanced:
                          type: boolean
                          description: >-
                            Whether to copy advanced properties like
                            `metaDescription`, `appendix`, `xmlFeedName`,
                            `seoTitle`, `IPlatba`, `PayOnline`, `adult`. If
                            `categoryPairing` is set to `true`, the
                            `categoryPairing` settings for Google, Glami,
                            Heureka, Zbozi.cz will be copied.
                          examples:
                            - true
                        stocks:
                          type: boolean
                          description: >-
                            Whether to copy stocks. Available only with active
                            `Stock` module. The pricelist must be also setted to
                            `true` in order for the stock requirements to be
                            copied.
                          examples:
                            - true
                        globalSaleVat:
                          type: boolean
                          description: >-
                            Whether to copy global sale VAT. Available only with
                            active `Global Sale` module.
                          examples:
                            - true
                        zboziCzSettings:
                          type: boolean
                          description: >-
                            Whether to copy Zboží.cz settings. Available only
                            with active `Seznam` module.
                          examples:
                            - true
                        heurekaSettings:
                          type: boolean
                          description: >-
                            Whether to copy Heureka settings. Available only
                            with active `HeurekaCZ` module.
                          examples:
                            - true
                        categoryPairing:
                          type: boolean
                          description: >-
                            Whether to copy category pairing settings for
                            Google, Glami, Heureka, Zbozi.cz. Property
                            `advanced` must be set to `true`.
                          examples:
                            - true
  /api/products/snapshot:
    get:
      responses:
        '200':
          description: OK
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    additionalProperties: false
                    required:
                      - jobId
                    properties:
                      jobId:
                        examples:
                          - ad24xod
                        description: token of job
                        type: string
                  errors:
                    $ref: '#/components/schemas/Errors'
        '403':
          description: Forbidden
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    type:
                      - object
                      - 'null'
                  errors:
                    $ref: '#/components/schemas/Errors'
              example:
                data: null
                errors:
                  - errorCode: missing-module
                    message: >-
                      Unable to process request with consumptionTax include as
                      "consumptionTax" module is not active.
                    instance: consumptionTax
      summary: List of all products
      operationId: getListOfAllProducts
      description: >-
        Using this endpoint, you can get list of all products with detailed info
        of each product (like in Product Detail endpoint)

        asynchronously. See how [Asynchronous
        requests](https://developers.shoptet.com/asynchronous-requests/) work on
        our

        developer's portal.



        Response will be in [jsonlines](https://jsonlines.org/) format with each
        product taking one line of output file.

        One product in response has the same format as product detail response
        (in `data` attribute)



        This endpoint has several sections, which are exported only when
        requested in the `include` parameter (see

        [Requested
        sections](#section/basic-principles-of-working-with-api/Section-on-demand)).



        Include parameter     | Meaning

        ---                   | ---

        images                | Export will also contain the list of all product
        images. For more information about the chapter [Product
        images](#product-images).

        variantParameters     | Export will also contain a field of variant
        parameters and a variant description, as they are visible to customers.

        allCategories         | Export will also contain information on all the
        categories that the product was assigned into

        flags                 | Details on product designation

        descriptiveParameters | Export will also contain descriptive parameters
        of the product

        measureUnit           | Export will also contain measure unit info of
        every variant.

        surchargeParameters   | Export will also contain surcharge parameters of
        the product.

        setItems              | Export will also contain items, products, in
        set.

        filteringParameters   | Export will also contain filtering parameters of
        the product.

        recyclingFee          | Export will also contain recycling fee.

        consumptionTax        | Export will also contain consumption tax.
        Requires the "Consumption tax" module to be enabled on the current
        e-shop.

        warranty              | Export will also contain product warranty.

        sortVariants          | Product variants will be sorted as in
        administration.

        gifts                 | List of gifts (variants) related to product

        alternativeProducts   | The response will also contain alternative
        products.

        relatedProducts       | The response will also contain related products.

        relatedVideos         | The response will also contain related videos.

        relatedFiles          | The response will also contain related files.

        perStockAmounts       | The response will also contain amounts/claims
        per individual stocks. Requires the "wholesale" module to be enabled on
        the current e-shop.

        perPricelistPrices    | The response will also contain prices per
        individual price lists.

        Result file is compressed using GZIP.
      tags:
        - Products
      parameters:
        - name: include
          in: query
          description: Optional parts of response
          example: >-
            images,variantParameters,allCategories,flags,descriptiveParameters,measureUnit,surchargeParameters,setItems,filteringParameters,recyclingFee,consumptionTax,warranty,sortVariants,gifts,alternativeProducts,relatedProducts,relatedVideos,relatedFiles,perStockAmounts,perPricelistPrices
          schema:
            type: string
        - name: creationTimeFrom
          in: query
          description: date of product creation, lower limit. Optional.
          example: 2017-02-28T17:04:47+0100
          schema:
            type: string
        - name: creationTimeTo
          in: query
          description: date of product creation, upper limit. Optional.
          example: 2028-02-28T17:04:47+0100
          schema:
            type: string
        - name: visibility
          in: query
          description: >-
            product visibility (visible, hidden, only for logged-in users...) -

            see also [Product visibility code
            list](#section/Code-lists/Product-visibility)

            Optional.
          example: visible
          schema:
            type: string
        - name: type
          in: query
          description: |-
            product type (product, service, bazar...) - see also [Product type
            code list](#section/Code-lists/Product-types). Optional.
          example: product
          schema:
            type: string
        - name: brandName
          in: query
          description: product brand (manufacturer) name. Optional.
          example: Storm
          schema:
            type: string
        - name: brandCode
          in: query
          description: |-
            product brand (manufacturer) code from `/api/brands` endpoint.
            Optional.
          example: storm
          schema:
            type: string
        - name: defaultCategoryGuid
          in: query
          description: product default category. Optional.
          example: 5c499a23-70ac-11e9-9208-08002774f818
          schema:
            type: string
        - name: categoryGuid
          in: query
          description: |-
            product category - only the products added to specific category will
            be included. Optional.
          example: 5c499a23-70ac-11e9-9208-08002774f818
          schema:
            type: string
        - name: flag
          in: query
          description: product flag - only products with selected flag will be included
          example: action
          schema:
            type: string
        - name: supplierGuid
          in: query
          description: |-
            supplier GUID - only products with selected supplier will be
            included
          example: 16a67ec6-d957-11e0-b04f-57a43310b768
          schema:
            type: string
        - name: changeTimeFrom
          in: query
          description: date of product last update, lower limit. Optional.
          example: 2017-02-28T17:04:47+0100
          schema:
            type: string
        - name: changeTimeTo
          in: query
          description: date of product last update, upper limit. Optional.
          example: 2028-02-28T17:04:47+0100
          schema:
            type: string
        - $ref: '#/components/parameters/DefaultContentType'
  /api/products/{guid}:
    get:
      responses:
        '200':
          description: OK
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    $ref: '#/components/schemas/product'
                  errors:
                    $ref: '#/components/schemas/Errors'
        '403':
          description: Forbidden
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    type:
                      - object
                      - 'null'
                  errors:
                    $ref: '#/components/schemas/Errors'
              example:
                data: null
                errors:
                  - errorCode: missing-module
                    message: >-
                      Unable to process request with consumptionTax include as
                      "consumptionTax" module is not active.
                    instance: consumptionTax
      summary: Product detail
      operationId: getProductDetail
      description: >-
        Returns detailed information about one product. The product includes the
        variant field. In case the product comes in variants,

        the field contains all the available variants. If the product does not
        have any variants, it contains only one variant

        with product information.



        This endpoint has several sections, which are sent only when requested
        in the `include` parameter (see

        [Requested
        sections](#section/basic-principles-of-working-with-api/Section-on-demand)).


        Include parameter     | Meaning

        ---                   | ---

        images                | The response will also contain the list of all
        product images. For more information about the chapter [Product
        images](#section/Product-images).

        variantParameters     | The response will also contain a field of
        variant parameters and a variant description, as they are visible to
        customers.

        allCategories         | The response will also contain information on
        all the categories that the product was assigned into

        flags                 | Details on product designation

        descriptiveParameters | The response will also contain descriptive
        parameters of the product

        measureUnit           | The response will also contain measure unit info
        of every variant.

        surchargeParameters   | The response will also contain surcharge
        parameters of the product.

        setItems              | The response will also contain items, products,
        in set.

        filteringParameters   | The response will also contain filtering
        parameters of the product.

        recyclingFee          | The response will also contain recycling fee.

        consumptionTax        | The response will also contain consumption tax.
        Requires the "Consumption tax" module to be enabled on the current
        e-shop.

        warranty              | The response will also contain product warranty.

        sortVariants          | Product variants will be sorted as in
        administration.

        gifts                 | Product gifts, will be sorted as in
        administration

        alternativeProducts   | The response will also contain alternative
        products.

        relatedProducts       | The response will also contain related products.

        relatedVideos         | The response will also contain related videos.

        relatedFiles          | The response will also contain related files.

        perStockAmounts       | The response will also contain amounts/claims
        per individual stocks. Requires the "wholesale" module to be enabled on
        the current e-shop.

        perPricelistPrices    | The response will also contain prices per
        individual price lists.
      tags:
        - Products
      parameters:
        - name: guid
          in: path
          description: Product guid
          required: true
          example: 93bc0dbe-7481-11e8-8216-002590dad85e
          schema:
            type: string
        - name: include
          in: query
          description: Optional parts of response
          example: >-
            images,variantParameters,allCategories,flags,descriptiveParameters,measureUnit,surchargeParameters,setItems,filteringParameters,recyclingFee,consumptionTax,warranty,sortVariants,gifts,alternativeProducts,relatedProducts,relatedVideos,relatedFiles,perStockAmounts,perPricelistPrices
          schema:
            type: string
        - $ref: '#/components/parameters/DefaultContentType'
    patch:
      responses:
        '200':
          description: OK
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    $ref: '#/components/schemas/product'
                  errors:
                    $ref: '#/components/schemas/Errors'
                required:
                  - data
                  - errors
                additionalProperties: false
        '403':
          description: Forbidden
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    type:
                      - object
                      - 'null'
                  errors:
                    $ref: '#/components/schemas/Errors'
              example:
                data: null
                errors:
                  - errorCode: missing-module
                    message: >-
                      Unable to process request with consumptionTax include as
                      "consumptionTax" module is not active.
                    instance: consumptionTax
        '422':
          description: Unprocessable Entity
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    type: 'null'
                  errors:
                    $ref: '#/components/schemas/Errors'
              example:
                data: null
                errors:
                  - errorCode: invalid-request-data
                    message: >-
                      The property consumptionTaxId is not allowed. Module
                      "consumptionTax" required.
                    instance: payload
      summary: Product update
      operationId: updateProduct
      description: |-
        Allows you to change a product, which is identified by the guid.


        This endpoint allows you to update products in Shoptet.

        Request is sent in JSON format in its body. For detailed description of
        items, which can be updated and their format,

        check the right-most pane, section "Request" » "Attributes"


        Product variant can be updated by specifying its `code`. When `code` is
        not specified or not existing, new variant will be created.

        If you want to change `code` of variant, use `code` to specify variant
        to be changed and `newCode` for specifying new code.


        Field `parameters` should contain ALL parameters that the edited variant
        should contain.

        That means, if you have for example "color:black" in variant and you
        specify only new parameter "size", parameter color will be deleted.
      tags:
        - Products
      parameters:
        - name: guid
          in: path
          description: Product guid
          required: true
          example: bffa3b98-d968-11e0-b04f-57a43310b768
          schema:
            type: string
        - name: include
          in: query
          description: Optional parts of response
          example: >-
            images,variantParameters,allCategories,flags,descriptiveParameters,measureUnit,surchargeParameters,setItems,filteringParameters,consumptionTax
          schema:
            type: string
        - $ref: '#/components/parameters/DefaultContentType'
      requestBody:
        content:
          application/vnd.shoptet.v1.0+json:
            schema:
              type: object
              required:
                - data
              properties:
                data:
                  type: object
                  minProperties: 1
                  additionalProperties: false
                  properties:
                    guid:
                      $ref: '#/components/schemas/typeGuid'
                      description: Product GUID. Must be unique if set.
                    type:
                      type: string
                      enum:
                        - product
                        - bazar
                        - service
                        - product-set
                      description: >-
                        Product type. Please note that 'product-set' requires
                        'sets' module to be enabled. Enum - see [Product type
                        code list](#section/code-lists/Product-types)
                      examples:
                        - product
                        - bazar
                        - service
                        - product-set
                    visibility:
                      type: string
                      enum:
                        - hidden
                        - visible
                        - blocked
                        - show-registered
                        - block-unregistered
                        - cash-desk-only
                        - detail-only
                      description: >-
                        Product visibility. Optional, default value `visible`.
                        Enum - see [Product visibility code
                        list](#section/code-lists/Product-visibility)
                      examples:
                        - hidden
                    name:
                      type: string
                      minLength: 1
                      maxLength: 250
                      description: >-
                        Product's name. Mandatory. Maximal length of 250
                        characters.
                      examples:
                        - Velká čokoláda
                    adult:
                      type:
                        - boolean
                        - 'null'
                      description: >-
                        Whether the product is for adults only. Optional,
                        default value `false`.
                      examples:
                        - true
                    shortDescription:
                      type:
                        - string
                        - 'null'
                      description: Product's short description.
                      examples:
                        - Velice kvalitní a dobrá čokoláda.
                    description:
                      type:
                        - string
                        - 'null'
                      description: Product's full description.
                      examples:
                        - >-
                          <p>Velice kvalitní a dobrá čokoláda. Chutná vždy
                          dobře. <b>Neobsahuje arašídy.</b></p>
                    metaTitle:
                      type:
                        - string
                        - 'null'
                      minLength: 1
                      maxLength: 255
                      description: Product's seo title. Maximal length of 255 characters.
                      examples:
                        - Velice kvalitní a dobrá čokoláda.
                    metaDescription:
                      type:
                        - string
                        - 'null'
                      description: Product's full description.
                      examples:
                        - >-
                          Velice kvalitní a dobrá čokoláda. Chutná vždy dobře.
                          Neobsahuje arašídy.
                    conditionGrade:
                      type:
                        - string
                        - 'null'
                      minLength: 1
                      description: >-
                        Grade condition of second-hand product. Allowed only for
                        `bazar` type.
                      examples:
                        - used
                    conditionDescription:
                      type:
                        - string
                        - 'null'
                      minLength: 1
                      description: >-
                        Condition description of second-hand product. Allowed
                        only for `bazar` type.
                      examples:
                        - Without original package.
                    defaultCategoryGuid:
                      $ref: '#/components/schemas/typeGuid'
                      description: Product's default category's GUID. Mandatory.
                    brandCode:
                      type:
                        - string
                        - 'null'
                      minLength: 1
                      description: Product's brand. Must exist if set.
                      examples:
                        - milka
                    internalNote:
                      type:
                        - string
                        - 'null'
                      minLength: 1
                      description: Product internal note.
                      examples:
                        - Internal note for product manager.
                    supplierGuid:
                      type:
                        - string
                        - 'null'
                      $ref: '#/components/schemas/typeGuid'
                      minLength: 1
                      description: Supplier GUID. Must exist if set.
                    categoryGuids:
                      type: array
                      minItems: 1
                      items:
                        $ref: '#/components/schemas/typeGuid'
                    warrantyId:
                      type:
                        - integer
                        - 'null'
                      description: Warranty ID.
                      examples:
                        - 1
                    flags:
                      type:
                        - array
                        - 'null'
                      description: Must exist if set.
                      items:
                        type: object
                        additionalProperties: false
                        required:
                          - code
                        properties:
                          code:
                            type: string
                            description: flag identifier.
                            examples:
                              - new
                          dateFrom:
                            $ref: '#/components/schemas/typeDate'
                            description: Date from which the flag is valid.
                          dateTo:
                            $ref: '#/components/schemas/typeDate'
                            description: Date to which the flag is valid.
                    descriptiveParameters:
                      type: array
                      description: Product descriptive parameters.
                      items:
                        type: object
                        additionalProperties: false
                        required:
                          - name
                        properties:
                          name:
                            type: string
                            minLength: 1
                            maxLength: 255
                            description: Parameter name.
                            examples:
                              - Material
                          value:
                            type:
                              - string
                              - 'null'
                            description: value of the descriptive parameter.
                            examples:
                              - Cotton
                          description:
                            type:
                              - string
                              - 'null'
                            description: Description of the descriptive parameter.
                            examples:
                              - Material the shirt is made of
                          priority:
                            type:
                              - integer
                              - 'null'
                            maximum: 99999
                            description: Priority of the parameter.
                            examples:
                              - 1
                    filteringParameters:
                      type:
                        - array
                        - 'null'
                      items:
                        type: object
                        additionalProperties: false
                        required:
                          - code
                          - values
                        properties:
                          code:
                            type: string
                            minLength: 1
                            maxLength: 255
                            description: Filtering parameter code.
                            examples:
                              - action
                          values:
                            type: array
                            minItems: 1
                            description: Product filtering parameter values.
                            items:
                              type: string
                    surchargeParameters:
                      type: array
                      description: >-
                        Product surcharge parameters. Not allowed for products
                        with multiple tax classes.
                      items:
                        $ref: '#/components/schemas/productRequestSurchargeParameter'
                    variants:
                      type: array
                      minItems: 1
                      items:
                        type: object
                        additionalProperties: false
                        minProperties: 1
                        properties:
                          code:
                            type: string
                            minLength: 1
                            maxLength: 64
                            description: >-
                              Variant's code. Must be unique if set. Generated
                              automatically if not set.
                            examples:
                              - '0035'
                          newCode:
                            type: string
                            minLength: 1
                            maxLength: 64
                            description: New code of existing variant.
                            examples:
                              - '0036'
                          ean:
                            type:
                              - string
                              - 'null'
                            maxLength: 255
                            description: Variant's ean.
                            examples:
                              - '8594001234567'
                          unitId:
                            type: integer
                            description: Variant's unit id. Optional
                            examples:
                              - -1
                          weight:
                            type:
                              - string
                              - 'null'
                            $ref: '#/components/schemas/typeWeightRequest'
                            description: >-
                              Variant's weight in kilograms. 3 decimal places,
                              and maximum value of 99999.999.
                            examples:
                              - '13.500'
                          width:
                            type: string
                            $ref: '#/components/schemas/typeDimension'
                            description: >-
                              width of the product in cm. 1 decimal place,
                              maximum 9999.9.
                          height:
                            type: string
                            $ref: '#/components/schemas/typeDimension'
                            description: >-
                              height of the product in cm. 1 decimal place,
                              maximum 9999.9.
                          depth:
                            type: string
                            $ref: '#/components/schemas/typeDimension'
                            description: >-
                              depth of the product in cm. 1 decimal place,
                              maximum 9999.9.
                          visible:
                            type: boolean
                            description: Is variant visible?
                            examples:
                              - true
                          manufacturerCode:
                            type:
                              - string
                              - 'null'
                            maxLength: 32
                            description: Variant's manufacturer code.
                            examples:
                              - OKI
                          pluCode:
                            type:
                              - string
                              - 'null'
                            maxLength: 16
                            description: Variant's plu.
                            examples:
                              - '0828'
                          isbn:
                            type:
                              - string
                              - 'null'
                            maxLength: 32
                            description: Variant's ISBN.
                            examples:
                              - 978-80-251-0000-0
                          serialNo:
                            type:
                              - string
                              - 'null'
                            maxLength: 32
                            description: Variant's serial number.
                            examples:
                              - B412
                          mpn:
                            type:
                              - string
                              - 'null'
                            maxLength: 32
                            description: Variant's MPN.
                            examples:
                              - H3T5-87
                          availabilityId:
                            type:
                              - number
                              - 'null'
                            description: Product availability id
                            examples:
                              - -1
                          availabilityWhenSoldOutId:
                            type:
                              - number
                              - 'null'
                            description: Product availability id when not stocked
                            examples:
                              - -3
                          image:
                            type:
                              - string
                              - 'null'
                            description: >-
                              image filename of this variant (image must exist
                              within product).
                            examples:
                              - 106.jpg
                          parameters:
                            type: array
                            description: Variant's parameters
                            items:
                              type: object
                              additionalProperties: false
                              required:
                                - nameIndex
                                - valueIndex
                              properties:
                                nameIndex:
                                  type: string
                                  description: indexName of parameter name
                                  examples:
                                    - color
                                valueIndex:
                                  type: string
                                  description: indexName of parameter value
                                  examples:
                                    - red
                          minStockSupply:
                            type:
                              - string
                              - 'null'
                            $ref: '#/components/schemas/typePositiveAmount'
                            description: Minimum stock supply.
                            examples:
                              - '10.000'
                          stocksLocations:
                            type: array
                            description: Locations and amounts in stocks.
                            items:
                              type: object
                              additionalProperties: false
                              required:
                                - stockId
                                - location
                              properties:
                                stockId:
                                  type: integer
                                  description: >-
                                    Id of stock. Required if stocksLocations is
                                    set. Must fit existing stock Id. Check List
                                    of Stocks.
                                  examples:
                                    - 1
                                location:
                                  type:
                                    - string
                                    - 'null'
                                  description: Stock location.
                                  examples:
                                    - H6/M11/R13
                          negativeStockAllowed:
                            type: boolean
                            description: Product stock can be in negative numbers
                            examples:
                              - true
                          measureUnit:
                            type:
                              - object
                              - 'null'
                            $ref: '#/components/schemas/measureUnit'
                            description: Product variant measure and packaging units.
                          recyclingFeeId:
                            type:
                              - integer
                              - 'null'
                            description: Product recycling fee id
                            examples:
                              - 123
                          consumptionTaxId:
                            type:
                              - integer
                              - 'null'
                            description: Product consumption tax identifier
                            examples:
                              - 1
                          amountDecimalPlaces:
                            type: integer
                            enum:
                              - 0
                              - 1
                              - 2
                              - 3
                            description: Amount of product variant decimal places.
                            examples:
                              - 2
                          atypicalBilling:
                            type: boolean
                            description: Has atypical billing?
                            examples:
                              - true
                          atypicalShipping:
                            type: boolean
                            description: Has atypical shipping?
                            examples:
                              - true
                    indexName:
                      type: string
                      minLength: 1
                      description: >-
                        String which defines product url. Value is sanitized to
                        fits url needs. If value is not present, indexName is
                        created from product name.
                      examples:
                        - baleriny-modre-s-puntiky
                    relatedVideos:
                      type: array
                      description: Product related videos.
                      items:
                        type: object
                        additionalProperties: false
                        required:
                          - code
                          - type
                        properties:
                          code:
                            type: string
                            maxLength: 32
                            description: related video code.
                            examples:
                              - zpvmPA3me7o
                          title:
                            type:
                              - string
                              - 'null'
                            maxLength: 128
                            description: related video title.
                            examples:
                              - Test video
                          type:
                            enum:
                              - youtube
                              - youtube-short
                            description: related video type.
                            examples:
                              - youtube
    delete:
      responses:
        '200':
          description: OK
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    type: 'null'
                  errors:
                    $ref: '#/components/schemas/Errors'
                required:
                  - data
                  - errors
                additionalProperties: false
        '404':
          description: Not Found
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    type: 'null'
                  errors:
                    $ref: '#/components/schemas/Errors'
              example:
                data: null
                errors:
                  - errorCode: product-not-found
                    message: |-
                      Product with identificator
                      "93bc0dbe-7481-11e8-8216-002590dad85e" not found.
                    instance: 93bc0dbe-7481-11e8-8216-002590dad85e
        '409':
          description: Conflict
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    type: 'null'
                  errors:
                    $ref: '#/components/schemas/Errors'
              example:
                data: null
                errors:
                  - errorCode: product-used-in-set
                    message: |-
                      Product with identificator
                      "93bc0dbe-7481-11e8-8216-002590dad85e" cannot be deleted
                      because is used in product set.
                    instance: 93bc0dbe-7481-11e8-8216-002590dad85e
      summary: Product deletion
      operationId: deleteProduct
      description: |-
        Deletes product as per entered `guid`. If successful, returns the code
        200.

        If the product does not exist within the e-shop, a 404 code is returned.

        If the product cannot be deleted, because it is part of set or used as a
        gift to some product, a 409 code is returned.
      tags:
        - Products
      parameters:
        - name: guid
          in: path
          description: Product guid
          required: true
          example: 93bc0dbe-7481-11e8-8216-002590dad85e
          schema:
            type: string
        - $ref: '#/components/parameters/DefaultContentType'
  /api/products/batch:
    patch:
      responses:
        '202':
          description: Accepted
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    additionalProperties: false
                    required:
                      - jobId
                    properties:
                      jobId:
                        examples:
                          - ad24xod
                        description: token of job
                        type: string
                  errors:
                    $ref: '#/components/schemas/Errors'
                required:
                  - data
                  - errors
                additionalProperties: false
      summary: Product BATCH update
      operationId: productBatchUpdate
      description: |-
        This endpoint allows you to update multiple products at once. Batch
        update is processed asynchronously in same way as for example products
        snapshot,

        but it does not have `resultUrl` with products to download in response.
        Instead, you can check attribute `log` which contains successfully
        updated products and errors.


        See how [Asynchronous
        requests](https://developers.shoptet.com/asynchronous-requests/) work on
        our developer's portal.


        File with data for update must be in JSONL
        ([jsonlines](https://jsonlines.org/)) format. Each line must contain one
        product in JSON format. Maximum size of file is 100MB.

        Structure of JSON row is same as structure of JSON for single product
        update above. You can add one extra optional attribute

        "language" which defines language of updating product, so you are able
        to update multiple language attributes (i.e. "name", "description" etc.)
        of one product in one batch file.

        If language is not defined, default language of shop is used.


        Asynchronous job process jsonl file row by row and try to validate and
        save data. If there is any error, row is skipped and error is logged,
        but it does not stop processing of other rows.

        In Log, every product is identified by its position in file (starting
        from 1).
      tags:
        - Products
      requestBody:
        content:
          application/vnd.shoptet.v1.0+json:
            schema:
              type: object
              additionalProperties: false
              required:
                - batchFileUrlPath
              properties:
                batchFileUrlPath:
                  type: string
                  description: >-
                    Url to batch file with products data. File must be in JSONL
                    format.
                  examples:
                    - https://cdn.myshoptet.com/batch-products-update.jsonl
      parameters:
        - $ref: '#/components/parameters/DefaultContentType'
  /api/products/code/{code}:
    get:
      responses:
        '200':
          description: OK
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    $ref: '#/components/schemas/product'
                  errors:
                    $ref: '#/components/schemas/Errors'
        '403':
          description: Forbidden
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    type:
                      - object
                      - 'null'
                  errors:
                    $ref: '#/components/schemas/Errors'
              example:
                data: null
                errors:
                  - errorCode: missing-module
                    message: >-
                      Unable to process request with consumptionTax include as
                      "consumptionTax" module is not active.
                    instance: consumptionTax
      summary: Product detail by code
      operationId: getProductDetailByCode
      description: >-
        Retrieve details about one product. Optional sections can be requested

        using `?include=` parameter

        The response format is the same as for [Product
        detail](#tag/products/getlistofproducts) endpoint.
      tags:
        - Products
      parameters:
        - name: code
          in: path
          description: product or variant code.
          required: true
          example: '133'
          schema:
            type: string
        - name: include
          in: query
          description: Optional parts of response
          example: >-
            images,variantParameters,allCategories,flags,descriptiveParameters,measureUnit,surchargeParameters,setItems,filteringParameters,recyclingFee,consumptionTax,perStockAmounts,sortVariants,perPricelistPrices
          schema:
            type: string
        - $ref: '#/components/parameters/DefaultContentType'
    patch:
      responses:
        '200':
          description: OK
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    $ref: '#/components/schemas/product'
                  errors:
                    $ref: '#/components/schemas/Errors'
                required:
                  - data
                  - errors
                additionalProperties: false
        '403':
          description: Forbidden
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    type:
                      - object
                      - 'null'
                  errors:
                    $ref: '#/components/schemas/Errors'
              example:
                data: null
                errors:
                  - errorCode: missing-module
                    message: >-
                      Unable to process request with consumptionTax include as
                      "consumptionTax" module is not active.
                    instance: consumptionTax
        '422':
          description: Unprocessable Entity
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    type: 'null'
                  errors:
                    $ref: '#/components/schemas/Errors'
              example:
                data: null
                errors:
                  - errorCode: invalid-request-data
                    message: >-
                      The property consumptionTaxId is not allowed. Module
                      "consumptionTax" required.
                    instance: payload
      summary: Product update by code
      operationId: updateProductByCode
      description: |-
        This endpoint allows you to update products identified by a product code
        in Shoptet.

        Request is sent in JSON format in its body. For detailed description of
        items, which can be updated and their format,

        check the right-most pane, section "Request" » "Attributes".


        Product variant can be updated by specifying its `code`. When `code` is
        not specified or not existing, new variant will be created.

        If you want to change `code` of variant, use `code` to specify variant
        to be changed and `newCode` for specifying new code.


        Field `parameters` should contain ALL parameters that the edited variant
        should contain.

        That means, if you have for example "color:black" in variant and you
        specify only new parameter "velikost", parameter color will be deleted.


        **Please note that any product's variant can be edited by this endpoint,
        not only the one in url**
      tags:
        - Products
      parameters:
        - name: code
          in: path
          description: Product or variant code
          required: true
          example: '00351'
          schema:
            type: string
        - name: include
          in: query
          description: Optional parts of response
          example: >-
            images,variantParameters,allCategories,flags,descriptiveParameters,measureUnit,surchargeParameters,setItems,filteringParameters,perStockAmounts,perPricelistPrices,recyclingFee,consumptionTax
          schema:
            type: string
        - $ref: '#/components/parameters/DefaultContentType'
      requestBody:
        content:
          application/vnd.shoptet.v1.0+json:
            schema:
              type: object
              required:
                - data
              properties:
                data:
                  type: object
                  minProperties: 1
                  additionalProperties: false
                  properties:
                    guid:
                      $ref: '#/components/schemas/typeGuid'
                      description: Product GUID. Must be unique if set.
                    type:
                      type: string
                      enum:
                        - product
                        - bazar
                        - service
                        - product-set
                      description: >-
                        Product type. Please note that 'product-set' requires
                        'sets' module to be enabled. Enum - see [Product type
                        code list](#section/code-lists/Product-types)
                      examples:
                        - product
                        - bazar
                        - service
                        - product-set
                    visibility:
                      type: string
                      enum:
                        - hidden
                        - visible
                        - blocked
                        - show-registered
                        - block-unregistered
                        - cash-desk-only
                        - detail-only
                      description: >-
                        Product visibility. Optional, default value `visible`.
                        Enum - see [Product visibility code
                        list](#section/code-lists/Product-visibility)
                      examples:
                        - hidden
                    name:
                      type: string
                      minLength: 1
                      maxLength: 250
                      description: >-
                        Product's name. Mandatory. Maximal length of 250
                        characters.
                      examples:
                        - Velká čokoláda
                    adult:
                      type:
                        - boolean
                        - 'null'
                      description: >-
                        Whether the product is for adults only. Optional,
                        default value `false`.
                      examples:
                        - true
                    shortDescription:
                      type:
                        - string
                        - 'null'
                      description: Product's short description.
                      examples:
                        - Velice kvalitní a dobrá čokoláda.
                    description:
                      type:
                        - string
                        - 'null'
                      description: Product's full description.
                      examples:
                        - >-
                          <p>Velice kvalitní a dobrá čokoláda. Chutná vždy
                          dobře. <b>Neobsahuje arašídy.</b></p>
                    metaTitle:
                      type:
                        - string
                        - 'null'
                      minLength: 1
                      maxLength: 255
                      description: Product's seo title. Maximal length of 255 characters.
                      examples:
                        - Velice kvalitní a dobrá čokoláda.
                    metaDescription:
                      type:
                        - string
                        - 'null'
                      description: Product's full description.
                      examples:
                        - >-
                          Velice kvalitní a dobrá čokoláda. Chutná vždy dobře.
                          Neobsahuje arašídy.
                    conditionGrade:
                      type:
                        - string
                        - 'null'
                      minLength: 1
                      description: >-
                        Grade condition of second-hand product. Allowed only for
                        `bazar` type.
                      examples:
                        - used
                    conditionDescription:
                      type:
                        - string
                        - 'null'
                      minLength: 1
                      description: >-
                        Condition description of second-hand product. Allowed
                        only for `bazar` type.
                      examples:
                        - Without original package.
                    defaultCategoryGuid:
                      $ref: '#/components/schemas/typeGuid'
                      description: Product's default category's GUID. Mandatory.
                    brandCode:
                      type:
                        - string
                        - 'null'
                      minLength: 1
                      description: Product's brand. Must exist if set.
                      examples:
                        - milka
                    internalNote:
                      type:
                        - string
                        - 'null'
                      minLength: 1
                      description: Product internal note.
                      examples:
                        - Internal note for product manager.
                    supplierGuid:
                      type:
                        - string
                        - 'null'
                      $ref: '#/components/schemas/typeGuid'
                      minLength: 1
                      description: Supplier GUID. Must exist if set.
                    categoryGuids:
                      type: array
                      minItems: 1
                      items:
                        $ref: '#/components/schemas/typeGuid'
                    warrantyId:
                      type:
                        - integer
                        - 'null'
                      description: Warranty ID.
                      examples:
                        - 1
                    flags:
                      type:
                        - array
                        - 'null'
                      description: Must exist if set.
                      items:
                        type: object
                        additionalProperties: false
                        required:
                          - code
                        properties:
                          code:
                            type: string
                            description: flag identifier.
                            examples:
                              - new
                          dateFrom:
                            $ref: '#/components/schemas/typeDate'
                            description: Date from which the flag is valid.
                          dateTo:
                            $ref: '#/components/schemas/typeDate'
                            description: Date to which the flag is valid.
                    descriptiveParameters:
                      type: array
                      description: Product descriptive parameters.
                      items:
                        type: object
                        additionalProperties: false
                        required:
                          - name
                        properties:
                          name:
                            type: string
                            minLength: 1
                            maxLength: 255
                            description: Parameter name.
                            examples:
                              - Material
                          value:
                            type:
                              - string
                              - 'null'
                            description: value of the descriptive parameter.
                            examples:
                              - Cotton
                          description:
                            type:
                              - string
                              - 'null'
                            description: Description of the descriptive parameter.
                            examples:
                              - Material the shirt is made of
                          priority:
                            type:
                              - integer
                              - 'null'
                            maximum: 99999
                            description: Priority of the parameter.
                            examples:
                              - 1
                    filteringParameters:
                      type:
                        - array
                        - 'null'
                      items:
                        type: object
                        additionalProperties: false
                        required:
                          - code
                          - values
                        properties:
                          code:
                            type: string
                            minLength: 1
                            maxLength: 255
                            description: Filtering parameter code.
                            examples:
                              - action
                          values:
                            type: array
                            minItems: 1
                            description: Product filtering parameter values.
                            items:
                              type: string
                    surchargeParameters:
                      type: array
                      description: >-
                        Product surcharge parameters. Not allowed for products
                        with multiple tax classes.
                      items:
                        $ref: '#/components/schemas/productRequestSurchargeParameter'
                    variants:
                      type: array
                      minItems: 1
                      items:
                        type: object
                        additionalProperties: false
                        minProperties: 1
                        properties:
                          code:
                            type: string
                            minLength: 1
                            maxLength: 64
                            description: >-
                              Variant's code. Must be unique if set. Generated
                              automatically if not set.
                            examples:
                              - '0035'
                          newCode:
                            type: string
                            minLength: 1
                            maxLength: 64
                            description: New code of existing variant.
                            examples:
                              - '0036'
                          ean:
                            type:
                              - string
                              - 'null'
                            maxLength: 255
                            description: Variant's ean.
                            examples:
                              - '8594001234567'
                          unitId:
                            type: integer
                            description: Variant's unit id. Optional
                            examples:
                              - -1
                          weight:
                            type:
                              - string
                              - 'null'
                            $ref: '#/components/schemas/typeWeightRequest'
                            description: >-
                              Variant's weight in kilograms. 3 decimal places,
                              and maximum value of 99999.999.
                            examples:
                              - '13.500'
                          width:
                            type: string
                            $ref: '#/components/schemas/typeDimension'
                            description: >-
                              width of the product in cm. 1 decimal place,
                              maximum 9999.9.
                          height:
                            type: string
                            $ref: '#/components/schemas/typeDimension'
                            description: >-
                              height of the product in cm. 1 decimal place,
                              maximum 9999.9.
                          depth:
                            type: string
                            $ref: '#/components/schemas/typeDimension'
                            description: >-
                              depth of the product in cm. 1 decimal place,
                              maximum 9999.9.
                          visible:
                            type: boolean
                            description: Is variant visible?
                            examples:
                              - true
                          manufacturerCode:
                            type:
                              - string
                              - 'null'
                            maxLength: 32
                            description: Variant's manufacturer code.
                            examples:
                              - OKI
                          pluCode:
                            type:
                              - string
                              - 'null'
                            maxLength: 16
                            description: Variant's plu.
                            examples:
                              - '0828'
                          isbn:
                            type:
                              - string
                              - 'null'
                            maxLength: 32
                            description: Variant's ISBN.
                            examples:
                              - 978-80-251-0000-0
                          serialNo:
                            type:
                              - string
                              - 'null'
                            maxLength: 32
                            description: Variant's serial number.
                            examples:
                              - B412
                          mpn:
                            type:
                              - string
                              - 'null'
                            maxLength: 32
                            description: Variant's MPN.
                            examples:
                              - H3T5-87
                          availabilityId:
                            type:
                              - number
                              - 'null'
                            description: Product availability id
                            examples:
                              - -1
                          availabilityWhenSoldOutId:
                            type:
                              - number
                              - 'null'
                            description: Product availability id when not stocked
                            examples:
                              - -3
                          image:
                            type:
                              - string
                              - 'null'
                            description: >-
                              image filename of this variant (image must exist
                              within product).
                            examples:
                              - 106.jpg
                          parameters:
                            type: array
                            description: Variant's parameters
                            items:
                              type: object
                              additionalProperties: false
                              required:
                                - nameIndex
                                - valueIndex
                              properties:
                                nameIndex:
                                  type: string
                                  description: indexName of parameter name
                                  examples:
                                    - color
                                valueIndex:
                                  type: string
                                  description: indexName of parameter value
                                  examples:
                                    - red
                          minStockSupply:
                            type:
                              - string
                              - 'null'
                            $ref: '#/components/schemas/typePositiveAmount'
                            description: Minimum stock supply.
                            examples:
                              - '10.000'
                          stocksLocations:
                            type: array
                            description: Locations and amounts in stocks.
                            items:
                              type: object
                              additionalProperties: false
                              required:
                                - stockId
                                - location
                              properties:
                                stockId:
                                  type: integer
                                  description: >-
                                    Id of stock. Required if stocksLocations is
                                    set. Must fit existing stock Id. Check List
                                    of Stocks.
                                  examples:
                                    - 1
                                location:
                                  type:
                                    - string
                                    - 'null'
                                  description: Stock location.
                                  examples:
                                    - H6/M11/R13
                          negativeStockAllowed:
                            type: boolean
                            description: Product stock can be in negative numbers
                            examples:
                              - true
                          measureUnit:
                            type:
                              - object
                              - 'null'
                            $ref: '#/components/schemas/measureUnit'
                            description: Product variant measure and packaging units.
                          recyclingFeeId:
                            type:
                              - integer
                              - 'null'
                            description: Product recycling fee id
                            examples:
                              - 123
                          consumptionTaxId:
                            type:
                              - integer
                              - 'null'
                            description: Product consumption tax identifier
                            examples:
                              - 1
                          amountDecimalPlaces:
                            type: integer
                            enum:
                              - 0
                              - 1
                              - 2
                              - 3
                            description: Amount of product variant decimal places.
                            examples:
                              - 2
                          atypicalBilling:
                            type: boolean
                            description: Has atypical billing?
                            examples:
                              - true
                          atypicalShipping:
                            type: boolean
                            description: Has atypical shipping?
                            examples:
                              - true
                    indexName:
                      type: string
                      minLength: 1
                      description: >-
                        String which defines product url. Value is sanitized to
                        fits url needs. If value is not present, indexName is
                        created from product name.
                      examples:
                        - baleriny-modre-s-puntiky
                    relatedVideos:
                      type: array
                      description: Product related videos.
                      items:
                        type: object
                        additionalProperties: false
                        required:
                          - code
                          - type
                        properties:
                          code:
                            type: string
                            maxLength: 32
                            description: related video code.
                            examples:
                              - zpvmPA3me7o
                          title:
                            type:
                              - string
                              - 'null'
                            maxLength: 128
                            description: related video title.
                            examples:
                              - Test video
                          type:
                            enum:
                              - youtube
                              - youtube-short
                            description: related video type.
                            examples:
                              - youtube
    delete:
      responses:
        '200':
          description: OK
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    type: 'null'
                  errors:
                    $ref: '#/components/schemas/Errors'
                required:
                  - data
                  - errors
                additionalProperties: false
        '404':
          description: Not Found
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    type: 'null'
                  errors:
                    $ref: '#/components/schemas/Errors'
              example:
                data: null
                errors:
                  - errorCode: product-not-found
                    message: Product with identificator "133" not found.
                    instance: '133'
        '409':
          description: Conflict
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    type: 'null'
                  errors:
                    $ref: '#/components/schemas/Errors'
              example:
                data: null
                errors:
                  - errorCode: product-used-in-set
                    message: |-
                      Product with identificator "133" cannot be deleted because
                      is used in product set.
                    instance: '133'
      summary: Product variant deletion
      operationId: deleteProductVariant
      description: |-
        Deletes product variant as per entered `code`. If this is the last
        product variant, the entire product is deleted.

        If successful, returns the code 200.

        If the product variant does not exist within the e-shop, a 404 code is
        returned.

        If the product variant cannot be deleted, because it is part of set or
        used as a gift to some product, a 409 code is returned.
      tags:
        - Products
      parameters:
        - name: code
          in: path
          description: product variant code.
          required: true
          example: '112'
          schema:
            type: string
        - $ref: '#/components/parameters/DefaultContentType'
  /api/products/{guid}/images/{gallery}:
    get:
      responses:
        '200':
          description: OK
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    additionalProperties: false
                    required:
                      - images
                    properties:
                      images:
                        type: array
                        items:
                          type: object
                          additionalProperties: false
                          required:
                            - name
                            - priority
                            - description
                            - changeTime
                            - seoName
                            - cdnName
                            - isMainImage
                          properties:
                            name:
                              type: string
                              description: >-
                                image file name, also serves as an identifier
                                for the image of the product. To assemble
                                complete URL, it is added to the `urlPath`
                                obtained from the endpoint e-shop info
                                `/api/eshop?include=imageCuts`.
                              examples:
                                - product-image-1.jpg
                            priority:
                              type:
                                - integer
                                - 'null'
                              description: >-
                                the key for the sequence of images matching the
                                sequence in administration - it''s not
                                necessarily from the first, and the series may
                                contain gaps. (can be `null`)
                              examples:
                                - 10
                            description:
                              type:
                                - string
                                - 'null'
                              description: image label (can be `null`)
                              examples:
                                - Fresh purple apple for Snow White
                            changeTime:
                              $ref: '#/components/schemas/typeDateTime'
                              description: >-
                                last image change time If you are saving images
                                together, you can use this timestamp to indicate
                                if you need to reload the image. (can be `null`)
                            seoName:
                              type: string
                              description: >-
                                file name modified for SEO - a short label is
                                attached.
                            cdnName:
                              type: string
                              description: >-
                                same as `seoName` with attached hashed last
                                image change time. `name`, `seoName` and
                                `cdnName` can be entered in the URL - redirect
                                will deliver the same image.
                            isMainImage:
                              type: boolean
                  errors:
                    $ref: '#/components/schemas/Errors'
                required:
                  - data
                  - errors
                additionalProperties: false
      summary: List of product images
      operationId: getListOfProductImages
      description: |-
        Returns list of product's images.

        Data from this endpoint and from product's detail endpoint (list named
        `images` when using `?include=images` parameter) are the same.

        Use this endpoint when working only with product images to save time.
      tags:
        - Products
      parameters:
        - name: guid
          in: path
          description: Product's guid
          required: true
          example: 92ca3575-7481-11e8-8216-002590dad85e
          schema:
            type: string
        - name: gallery
          in: path
          description: |-
            Gallery identifier - use `shop` for normal and `shop360` for 360
            photos
          required: true
          example: shop
          schema:
            type: string
        - $ref: '#/components/parameters/DefaultContentType'
    delete:
      responses:
        '200':
          description: OK
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    type: 'null'
                  errors:
                    $ref: '#/components/schemas/Errors'
                required:
                  - data
                  - errors
                additionalProperties: false
              example:
                data: null
                errors:
                  - errorCode: example-error-code
                    message: Example error message
                    instance: instance
      summary: Delete all product images in gallery
      operationId: deleteAllProductImagesInGallery
      description: |-
        Deletes all product's images by gallery name. If `removeReference`
        parameter is not present or set to `false` and if image is referenced

        as variant image, then image will be skipped and present in `errors` in
        response.

        If `removeReference` is set to true, then this reference will be removed
        with the image.


        Returns `200` status code. If any image deletion failed, it will be
        noted in `errors` section in response.
      tags:
        - Products
      parameters:
        - name: guid
          in: path
          description: Product's guid
          required: true
          example: 94fe7ffc-7481-11e8-8216-002590dad85e
          schema:
            type: string
        - name: gallery
          in: path
          description: Gallery name (shop or shop360)
          required: true
          example: shop
          schema:
            type: string
        - name: removeReference
          in: query
          description: |-
            If product's variant image reference should be removed. Default
            `false`.
          example: 'true'
          schema:
            type: boolean
        - $ref: '#/components/parameters/DefaultContentType'
    patch:
      responses:
        '200':
          description: OK
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    additionalProperties: false
                    required:
                      - images
                    properties:
                      images:
                        type: array
                        items:
                          type: object
                          additionalProperties: false
                          required:
                            - name
                            - priority
                            - description
                            - changeTime
                            - seoName
                            - cdnName
                            - isMainImage
                          properties:
                            name:
                              type: string
                              description: >-
                                image file name, also serves as an identifier
                                for the image of the product. To assemble
                                complete URL, it is added to the `urlPath`
                                obtained from the endpoint e-shop info
                                `/api/eshop?include=imageCuts`.
                              examples:
                                - 100_purple-apple.jpg
                            priority:
                              type:
                                - integer
                                - 'null'
                              description: >-
                                the key for the sequence of images matching the
                                sequence in administration - it''s not
                                necessarily from the first, and the series may
                                contain gaps. (can be `null`)
                              examples:
                                - 10
                            description:
                              type:
                                - string
                                - 'null'
                              description: image label (can be `null`)
                              examples:
                                - Fresh purple apple for Snow White
                            changeTime:
                              $ref: '#/components/schemas/typeDateTime'
                              description: >-
                                last image change time If you are saving images
                                together, you can use this timestamp to indicate
                                if you need to reload the image. (can be `null`)
                            seoName:
                              type: string
                              description: >-
                                file name modified for SEO - a short label is
                                attached.
                              examples:
                                - 100_purple-apple.jpg
                            cdnName:
                              type: string
                              description: >-
                                same as `seoName` with attached hashed last
                                image change time. `name`, `seoName` and
                                `cdnName` can be entered in the URL - redirect
                                will deliver the same image.
                              examples:
                                - 100_purple-apple.jpg?59393c3a
                            isMainImage:
                              type: boolean
                  errors:
                    $ref: '#/components/schemas/Errors'
                required:
                  - data
                  - errors
                additionalProperties: false
      summary: Product images update
      operationId: getProductImagesUpdate
      description: |-
        Using this endpoint you can modify product images attributes, such as
        description and priority (order). Maximum of 100 images can be sent at
        once.
      tags:
        - Products
      parameters:
        - name: guid
          in: path
          description: Product's guid
          required: true
          example: 95b84d4b-7481-11e8-8216-002590dad85e
          schema:
            type: string
        - name: gallery
          in: path
          description: |-
            Gallery identifier - use `shop` for normal and `shop360` for 360
            photos
          required: true
          example: shop
          schema:
            type: string
        - $ref: '#/components/parameters/DefaultContentType'
      requestBody:
        content:
          application/vnd.shoptet.v1.0+json:
            schema:
              type: object
              additionalProperties: false
              required:
                - data
              properties:
                data:
                  type: object
                  additionalProperties: false
                  required:
                    - images
                  properties:
                    images:
                      type: array
                      minItems: 1
                      maxItems: 100
                      items:
                        type: object
                        additionalProperties: false
                        required:
                          - name
                        properties:
                          name:
                            type: string
                            minLength: 1
                            description: Name of image.
                            examples:
                              - 127.png
                          priority:
                            type: integer
                            minimum: 1
                            maximum: 99999
                            description: Image priority.
                            examples:
                              - 100
                          description:
                            type: string
                            description: Image description.
                            examples:
                              - Dobrá čokoláda
    post:
      responses:
        '202':
          description: Accepted
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    additionalProperties: false
                    required:
                      - jobId
                    properties:
                      jobId:
                        examples:
                          - ad24xod
                        description: token of job
                        type: string
                  errors:
                    $ref: '#/components/schemas/Errors'
                required:
                  - data
                  - errors
                additionalProperties: false
      summary: Product images insertion
      operationId: createProductImages
      description: |-
        Using this endpoint you can upload new images to a product. This is an
        asynchronous request,

        see how [Asynchronous
        requests](https://developers.shoptet.com/asynchronous-requests/) work on
        our

        developer's portal. Maximum of 100 images can be sent at once.
      tags:
        - Products
      parameters:
        - name: guid
          in: path
          description: Product's guid
          required: true
          example: 95b84d4b-7481-11e8-8216-002590dad85e
          schema:
            type: string
        - name: gallery
          in: path
          description: |-
            Gallery identifier - use `shop` for normal and `shop360` for 360
            photos
          required: true
          example: shop
          schema:
            type: string
        - $ref: '#/components/parameters/DefaultContentType'
      requestBody:
        content:
          application/vnd.shoptet.v1.0+json:
            schema:
              type: object
              additionalProperties: false
              required:
                - data
              properties:
                data:
                  type: object
                  additionalProperties: false
                  required:
                    - images
                  properties:
                    images:
                      type: array
                      minItems: 1
                      maxItems: 100
                      items:
                        type: object
                        additionalProperties: false
                        required:
                          - sourceUrl
                        properties:
                          sourceUrl:
                            type: string
                            minLength: 1
                            maxLength: 255
                            description: Image url.
                            examples:
                              - https://cdn.myshoptet.com/cokolada.jpg
                          priority:
                            type: integer
                            minimum: 1
                            maximum: 99999
                            description: Image priority.
                            examples:
                              - 100
                          description:
                            type: string
                            description: Image description.
                            examples:
                              - Dobrá čokoláda
  /api/products/{guid}/images/{gallery}/source:
    patch:
      responses:
        '202':
          description: Accepted
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    additionalProperties: false
                    required:
                      - jobId
                    properties:
                      jobId:
                        examples:
                          - ad24xod
                        description: token of job
                        type: string
                  errors:
                    $ref: '#/components/schemas/Errors'
                required:
                  - data
                  - errors
                additionalProperties: false
      summary: Product images source update
      operationId: updateProductImagesSource
      description: |-
        Using this endpoint you can modify product image attributes and also
        upload a new image and replace the existing one.

        This is an asynchronous request,  see how [Asynchronous
        requests](https://developers.shoptet.com/asynchronous-requests/

        work on our developer's portal.
      tags:
        - Products
      parameters:
        - name: guid
          in: path
          description: Product's guid
          required: true
          example: 95b84d4b-7481-11e8-8216-002590dad85e
          schema:
            type: string
        - name: gallery
          in: path
          description: |-
            Gallery identifier - use `shop` for normal and `shop360` for 360
            photos
          required: true
          example: shop
          schema:
            type: string
        - $ref: '#/components/parameters/DefaultContentType'
      requestBody:
        content:
          application/vnd.shoptet.v1.0+json:
            schema:
              type: object
              additionalProperties: false
              required:
                - data
              properties:
                data:
                  type: object
                  additionalProperties: false
                  required:
                    - images
                  properties:
                    images:
                      type: array
                      minItems: 1
                      items:
                        type: object
                        additionalProperties: false
                        required:
                          - name
                          - sourceUrl
                        properties:
                          name:
                            type: string
                            minLength: 1
                            description: Name of the image
                            examples:
                              - 127.png
                          sourceUrl:
                            type: string
                            minLength: 1
                            maxLength: 255
                            description: URL of the image
                            examples:
                              - https://cdn.myshoptet.com/cokolada.jpg
                          priority:
                            type: integer
                            minimum: 1
                            maximum: 99999
                            description: Priority of the image
                            examples:
                              - 1
                          description:
                            type: string
                            description: Description of the image
                            examples:
                              - Dobrá čokoláda
  /api/products/{guid}/images/{gallery}/{imageName}:
    delete:
      responses:
        '200':
          description: OK
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    type: 'null'
                  errors:
                    $ref: '#/components/schemas/Errors'
                required:
                  - data
                  - errors
                additionalProperties: false
      summary: Delete one product image
      operationId: deleteOneProductImage
      description: |-
        Deletes product's image. If `removeReference` parameter is not present
        or set to `false` and if image is referenced

        as variant image, then image won't be deleted and response will have
        status code `409 Conflict`.

        If `removeReference` is set to true, then this reference will be removed
        with the image.
      tags:
        - Products
      parameters:
        - name: guid
          in: path
          description: Product's guid
          required: true
          example: 92d77e60-7481-11e8-8216-002590dad85e
          schema:
            type: string
        - name: gallery
          in: path
          description: Gallery name (shop or shop360)
          required: true
          example: shop
          schema:
            type: string
        - name: imageName
          in: path
          description: Filename
          required: true
          example: 52.png
          schema:
            type: string
        - name: removeReference
          in: query
          description: |-
            If product's variant image reference should be removed. Default
            `false`.
          example: 'true'
          schema:
            type: boolean
        - $ref: '#/components/parameters/DefaultContentType'
  /api/products/changes:
    get:
      responses:
        '200':
          description: OK
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    additionalProperties: false
                    required:
                      - changes
                      - paginator
                    properties:
                      changes:
                        type: array
                        items:
                          type: object
                          additionalProperties: false
                          required:
                            - guid
                            - changeTime
                            - changeType
                          properties:
                            guid:
                              $ref: '#/components/schemas/typeGuidUnlimited'
                              description: >-
                                product identifier that can be used to query
                                about the customer''s details.
                            changeTime:
                              $ref: '#/components/schemas/typeDateTime'
                              description: >-
                                date and time, when the event happened. ISO 8601
                                format (`2017-12-12T22:08:01+0100`).
                            changeType:
                              type: string
                              description: >-
                                type of event that happened with the entity.
                                Possible values are following: `add`, `edit`,
                                `delete`.
                              examples:
                                - add
                      paginator:
                        $ref: '#/components/schemas/paginator'
                  errors:
                    $ref: '#/components/schemas/Errors'
                required:
                  - data
                  - errors
                additionalProperties: false
      summary: Last product changes
      operationId: getLastProductChanges
      description: >-
        Returns the list of products, which were changed (added/edited or
        deleted). Endpoint is intended to determine

        the changes after you have loaded the complete list of products and you
        need to know if any of these have been changed.

        Guaranteed history is 30 days, older data are deleted progressively.



        Each product in the log is mentioned only with its last change. For
        example, if the product was modified and then deleted,

        the log will show only information about its deletion.


        Can be filtered by changeType = edit/delete parameter.


        Creation is considered as `edit` action. So, when there is a new item
        created, it will be displayed like `edit` action.



        Endpoint supports
        [pagination](#section/basic-principles-of-working-with-api/Paging).



        Description of object attributes with information about changes:


        |Field                                 | Causes product change |
        Notes.                                 |

        |--------------------------------------|---------------------|---------------------------------------|

        |guid                                  |Yes  
        |                                       |

        |type                                  |Yes    
        |                                       |

        |visibility                            |Yes   
        |                                       |

        |creationTime                          |Yes  
        |                                       |

        |changeTime                            |Yes         
        |                                       |

        |shortDescription                      |Yes      
        |                                       |

        |description                           |Yes 
        |                                       |

        |metaDescription                       |Yes
        |                                       |

        |name                                  |Yes    
        |                                       |

        |internalNote                          |Yes    
        |                                       |

        |defaultCategory                       |Yes                  |Only
        category - product relation change|

        |defaultCategory.guid                  |No     
        |                                       |

        |defaultCategory.name                  |No                     
        |                                       |

        |supplier                              |Yes                  |Only
        supplier    - product relation change|

        |supplier.guid                         |No                     
        |                                       |

        |supplier.name                         |No                     
        |                                       |

        |brand                                 |Yes                  |Only brand
        -    product relation change   |

        |brand.code                            |No                     
        |                                       |

        |brand.name                            |No                     
        |                                       |

        |categories                            |Yes                  |Only
        product -    category relation       |

        |categories.guid                       |No                     
        |                                       |

        |categories.parentGuid                 |No                     
        |                                       |

        |categories.name                       |No                     
        |                                       |

        |url                                   |Yes                  |Only
        for    relative url. Domain change no|

        |flags                                 |Yes                    
        |                                       |

        |flags.code                            |No                     
        |                                       |

        |flags.title                           |No                     
        |                                       |

        |flags.dateFrom                        |Yes                    
        |                                       |

        |flags.dateTo                          |Yes                    
        |                                       |

        |variants                              |Yes                    
        |                                       |

        |variants.code                         |Yes                    
        |                                       |

        |variants.ean                          |Yes                    
        |                                       |

        |variants.stock                        |no                     
        |                                       |

        |variants.unit                         |yes                    
        |                                       |

        |variants.weight                       |yes                    
        |                                       |

        |variants.visible                      |yes                    
        |                                       |

        |variants.minStockSupply               |yes                    
        |                                       |

        |variants.negativeStockAllowed         |yes                    
        |                                       |

        |variants.amountDecimalPlaces          |yes                    
        |                                       |

        |variants.price                        |yes                    
        |                                       |

        |variants.includingVat                 |yes                    
        |                                       |

        |variants.vatRate                      |yes                    
        |                                       |

        |variants.currencyCode                 |yes                    
        |                                       |

        |variants.actionPrice                  |yes                    
        |                                       |

        |variants.commonPrice                  |yes                    
        |                                       |

        |variants.manufacturerCode             |yes                    
        |                                       |

        |variants.pluCode                      |yes                    
        |                                       |

        |variants.isbn                         |yes                
        |                                       |

        |variants.serialNo                     |yes                    
        |                                       |

        |variants.mpn                          |yes                    
        |                                       |

        |variants.availability                 |yes                    
        |                                       |

        |variants.availabilityWhenSoldOut      |yes                    
        |                                       |

        |variants.image                        |yes                    
        |                                       |

        |variants.parameters                   |yes                    
        |                                       |

        |variants.name                         |yes                    
        |                                       |

        |variants.measureUnit                  |yes                    
        |                                       |

        |variants.measureUnit.measureAmount    |yes                    
        |                                       |

        |variants.measureUnit.measureUnitId    |yes                    
        |                                       |

        |variants.measureUnit.packagingAmount  |yes                    
        |                                       |

        |variants.measureUnit.packagingUnitId  |yes                    
        |                                       |

        |variants.measureUnit.measureUnitName  |yes                    
        |                                       |

        |variants.measureUnit.packagingUnitName|yes                    
        |                                       |

        |variants.measureUnit.measurePrice     |yes                    
        |                                       |

        |variants.recyclingFee                 |yes                    
        |                                       |

        |images                                |yes                    
        |                                       |

        |images.name                           |yes                    
        |                                       |

        |images.priority                       |yes                    
        |                                       |

        |images.description                    |yes                    
        |                                       |

        |images.changeTime                     |yes                    
        |                                       |

        |images.seoName                        |yes                    
        |                                       |

        |images.cdnName                        |yes                    
        |                                       |

        |descriptiveParameters                 |yes                    
        |                                       |

        |descriptiveParameters.name            |yes                    
        |                                       |

        |descriptiveParameters.value           |yes                    
        |                                       |

        |descriptiveParameters.description     |yes                    
        |                                       |

        |descriptiveParameters.priority        |yes                    
        |                                       |

        |surchargeParameters                   |no                     
        |                                       |

        |surchargeParameters.code              |no                     
        |                                       |

        |surchargeParameters.name              |no                     
        |                                       |

        |surchargeParameters.displayName       |no                     
        |                                       |

        |surchargeParameters.description       |no                     
        |                                       |

        |surchargeParameters.priority          |no                     
        |                                       |

        |surchargeParameters.required          |no                     
        |                                       |

        |surchargeParameters.currency          |no                     
        |                                       |

        |surchargeParameters.includingVat      |no                     
        |                                       |

        |surchargeParameters.values            |no                     
        |                                       |

        |surchargeParameters.values.valueIndex |no                     
        |                                       |

        |surchargeParameters.values.description|no                     
        |                                       |

        |surchargeParameters.values.price      |no                     
        |                                       |

        |surchargeParameters.values.priority   |no                     
        |                                       |

        |surchargeParameters.values.visible    |no                     
        |                                       |

        |setItems                              |yes                    
        |                                       |

        |setItems.guid                         |no                     
        |                                       |

        |setItems.code                         |no                     
        |                                       |

        |setItems.amount                       |no                 
        |                                       |

        |filteringParameters                   |yes                  |Only   
        relation                          |

        |filteringParameters.code              |no                     
        |                                       |

        |filteringParameters.name              |no                     
        |                                       |

        |filteringParameters.displayName       |no                     
        |                                       |

        |filteringParameters.description       |no                     
        |                                       |

        |filteringParameters.priority          |yes                    
        |                                       |

        |filteringParameters.googleMapping     |no                     
        |                                       |

        |filteringParameters.values            |yes                  |Only   
        relation                          |

        |filteringParameters.values.valueIndex |no                     
        |                                       |

        |filteringParameters.values.name       |no                     
        |                                       |

        |filteringParameters.values.priority   |no                     
        |                                       |

        |filteringParameters.values.color      |no                     
        |                                       |

        |filteringParameters.values.image      |no                     
        |                                       |

        |warranty                              |yes                  |only   
        relation                          |

        |warranty.inMonths                     |no                     
        |                                       |

        |warranty.description                  |no                     
        |                                       |
      tags:
        - Products
      parameters:
        - name: from
          in: query
          description: >-
            DateTime from which up to the present we are interested in the
            changes. + in the time zone
          required: true
          example: '2018-01-01T01:01:01+02:00'
          schema:
            type: string
        - name: changeType
          in: query
          description: Returning only edit or delete type changed records
          required: false
          example: edit
          schema:
            type: string
        - $ref: '#/components/parameters/DefaultContentType'
  /api/categories:
    get:
      responses:
        '200':
          description: OK
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    additionalProperties: false
                    required:
                      - categories
                      - paginator
                    properties:
                      categories:
                        type: array
                        items:
                          $ref: '#/components/schemas/category'
                      paginator:
                        $ref: '#/components/schemas/paginator'
                  errors:
                    $ref: '#/components/schemas/Errors'
                required:
                  - data
                  - errors
                additionalProperties: false
      summary: List of product categories
      operationId: getListOfProductCategories
      description: Returns the list of product categories.
      tags:
        - Products
      parameters:
        - $ref: '#/components/parameters/DefaultContentType'
    post:
      responses:
        '201':
          description: Created
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    $ref: '#/components/schemas/category'
                  errors:
                    $ref: '#/components/schemas/Errors'
                required:
                  - data
                  - errors
                additionalProperties: false
      summary: Product category create
      operationId: createProductCategory
      description: Creates new category
      tags:
        - Products
      requestBody:
        content:
          application/vnd.shoptet.v1.0+json:
            schema:
              type: object
              required:
                - data
              properties:
                data:
                  type: object
                  additionalProperties: false
                  required:
                    - name
                  properties:
                    guid:
                      type: string
                      $ref: '#/components/schemas/typeGuid'
                      description: Category GUID. Must be unique if set. Optional.
                    name:
                      type: string
                      minLength: 1
                      maxLength: 255
                      description: Category name
                      examples:
                        - Watches
                    parentGuid:
                      type:
                        - string
                        - 'null'
                      $ref: '#/components/schemas/typeGuid'
                      description: >-
                        Parent category GUID. Category must exist if set.
                        Optional.
                    description:
                      type:
                        - string
                        - 'null'
                      description: Category description. Max length 65535 bytes. Optional.
                      examples:
                        - <p>Top category description</p>
                    secondDescription:
                      type:
                        - string
                        - 'null'
                      description: >-
                        Bottom category description. Max length 65535 bytes.
                        Optional.
                      examples:
                        - <p>Bottom category description</p>
                    imageName:
                      type:
                        - string
                        - 'null'
                      description: >-
                        Category image. File must exist on the server. Optional.
                        (Use `sourceImageName` instead)
                      examples:
                        - watches-category-image.jpg
                      deprecated: true
                    sourceImageName:
                      type:
                        - string
                        - 'null'
                      $ref: '#/components/schemas/typeFilename'
                      description: >-
                        Name of file in [API upload
                        storage](#section/basic-principles-of-working-with-api/files)
                        to be set as category image.
                      examples:
                        - image.png
                    sortBefore:
                      type: string
                      $ref: '#/components/schemas/typeGuid'
                      description: >-
                        Guid of category before which you want to move the
                        category from the request. Not possible to use with
                        `sortAfter`. Optional.
                    sortAfter:
                      type: string
                      $ref: '#/components/schemas/typeGuid'
                      description: >-
                        Guid of category after which you want to move the
                        category from the request. Not possible to use with
                        `sortBefore`. Optional.
                    indexName:
                      type: string
                      minLength: 1
                      description: >-
                        Last part of url. Optional, generated from name if not
                        set.
                      examples:
                        - watches
                    menuTitle:
                      type:
                        - string
                        - 'null'
                      minLength: 1
                      maxLength: 255
                      description: Label for menu. Optional.
                      examples:
                        - Watches
                    title:
                      type:
                        - string
                        - 'null'
                      minLength: 1
                      maxLength: 255
                      description: Meta tag title. Optional.
                      examples:
                        - Watches
                    metaTagDescription:
                      type:
                        - string
                        - 'null'
                      description: Meta tag description. Optional.
                      examples:
                        - Watches, Apple watch, black, white, garmin
                    visible:
                      type: boolean
                      description: >-
                        Whether the category is visible. Optional, default
                        `true`.
                      examples:
                        - true
                    customerVisibility:
                      type: string
                      enum:
                        - all
                        - registered
                        - unregistered
                      description: >-
                        defines users of the e-shop who can see the category -
                        `all` = all (default), `registered` = registered users,
                        `unregistered` = non-registered users. Optional.
                      examples:
                        - all
                    productOrdering:
                      type: string
                      enum:
                        - default
                        - most-selling
                        - cheapest
                        - most-expensive
                        - oldest
                        - newest
                        - alphabetically
                        - alphabetically-desc
                        - product-code
                        - product-code-desc
                        - category-priority
                        - category-priority-desc
                      description: >-
                        defines how products are sorted in a category. See also
                        code list [Classification of products in
                        category](#section/code-lists/Sorting-of-products-in-category)
                      examples:
                        - alphabetically
                    similarProductsCategory:
                      type:
                        - string
                        - 'null'
                      $ref: '#/components/schemas/typeGuid'
                      description: Similar category guid. Optional.
                    relatedProductsCategory:
                      type:
                        - string
                        - 'null'
                      $ref: '#/components/schemas/typeGuid'
                      description: Related category guid. Optional.
      parameters:
        - $ref: '#/components/parameters/DefaultContentType'
  /api/categories/{categoryGuid}:
    get:
      responses:
        '200':
          description: OK
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    $ref: '#/components/schemas/category'
                  errors:
                    $ref: '#/components/schemas/Errors'
                required:
                  - data
                  - errors
                additionalProperties: false
      summary: Product category detail
      operationId: getProductCategoryDetail
      description: Returns category info
      tags:
        - Products
      parameters:
        - name: categoryGuid
          in: path
          description: Product category.
          required: true
          example: 5c498fb7-70ac-11e9-9208-08002774f818
          schema:
            type: string
        - $ref: '#/components/parameters/DefaultContentType'
    patch:
      responses:
        '200':
          description: OK
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    $ref: '#/components/schemas/category'
                  errors:
                    $ref: '#/components/schemas/Errors'
                required:
                  - data
                  - errors
                additionalProperties: false
      summary: Product category update
      operationId: updateProductCategory
      description: Updates existing category.
      tags:
        - Products
      parameters:
        - name: categoryGuid
          in: path
          description: Category's guid
          required: true
          example: bffa3b98-d968-11e0-b04f-57a43310b728
          schema:
            type: string
        - $ref: '#/components/parameters/DefaultContentType'
      requestBody:
        content:
          application/vnd.shoptet.v1.0+json:
            schema:
              type: object
              required:
                - data
              properties:
                data:
                  type: object
                  additionalProperties: false
                  minProperties: 1
                  properties:
                    guid:
                      type: string
                      $ref: '#/components/schemas/typeGuid'
                      description: Category GUID. Must be unique if set. Optional.
                    name:
                      type: string
                      minLength: 1
                      maxLength: 255
                      description: Category name. Optional.
                      examples:
                        - Watches
                    parentGuid:
                      type:
                        - string
                        - 'null'
                      $ref: '#/components/schemas/typeGuid'
                      description: >-
                        Parent category GUID. Category must exist if set.
                        Optional.
                    description:
                      type:
                        - string
                        - 'null'
                      description: Category description. Max length 65535 bytes. Optional.
                      examples:
                        - <p>Top category description</p>
                    secondDescription:
                      type:
                        - string
                        - 'null'
                      description: >-
                        Bottom category description. Max length 65535 bytes.
                        Optional.
                      examples:
                        - <p>Bottom category description</p>
                    imageName:
                      type:
                        - string
                        - 'null'
                      description: >-
                        Category image. File must exist on the server. Optional.
                        (Use `sourceImageName` instead)
                      examples:
                        - watches-category-image.jpg
                      deprecated: true
                    sourceImageName:
                      type:
                        - string
                        - 'null'
                      $ref: '#/components/schemas/typeFilename'
                      description: >-
                        Name of file in [API upload
                        storage](#section/basic-principles-of-working-with-api/files)
                        to be set as category image.
                      examples:
                        - image.png
                    sortBefore:
                      type: string
                      $ref: '#/components/schemas/typeGuid'
                      description: >-
                        Guid of category before which you want to move the
                        category from the request. Not possible to use with
                        `sortAfter`. Optional.
                    sortAfter:
                      type: string
                      $ref: '#/components/schemas/typeGuid'
                      description: >-
                        Guid of category after which you want to move the
                        category from the request. Not possible to use with
                        `sortBefore`. Optional.
                    indexName:
                      type: string
                      minLength: 1
                      description: >-
                        Last part of url. Optional, generated from name if not
                        set.
                      examples:
                        - watches
                    menuTitle:
                      type:
                        - string
                        - 'null'
                      minLength: 1
                      maxLength: 255
                      description: Label for menu. Optional.
                      examples:
                        - Watches
                    title:
                      type:
                        - string
                        - 'null'
                      minLength: 1
                      maxLength: 255
                      description: Meta tag title. Optional.
                      examples:
                        - Watches
                    metaTagDescription:
                      type:
                        - string
                        - 'null'
                      description: Meta tag description. Optional.
                      examples:
                        - Watches, Apple watch, black, white, garmin
                    visible:
                      type: boolean
                      description: >-
                        Whether the category is visible. Optional, default
                        `true`.
                      examples:
                        - true
                    customerVisibility:
                      type: string
                      enum:
                        - all
                        - registered
                        - unregistered
                      description: >-
                        defines users of the e-shop who can see the category -
                        `all` = all (default), `registered` = registered users,
                        `unregistered` = non-registered users. Optional.
                      examples:
                        - all
                    productOrdering:
                      type: string
                      enum:
                        - default
                        - most-selling
                        - cheapest
                        - most-expensive
                        - oldest
                        - newest
                        - alphabetically
                        - alphabetically-desc
                        - product-code
                        - product-code-desc
                        - category-priority
                        - category-priority-desc
                      description: >-
                        defines how products are sorted in a category. See also
                        code list [Classification of products in
                        category](#section/code-lists/Sorting-of-products-in-category)
                      examples:
                        - alphabetically
                    similarProductsCategory:
                      type:
                        - string
                        - 'null'
                      $ref: '#/components/schemas/typeGuid'
                      description: Similar category guid. Optional.
                    relatedProductsCategory:
                      type:
                        - string
                        - 'null'
                      $ref: '#/components/schemas/typeGuid'
                      description: Related category guid. Optional.
    delete:
      responses:
        '200':
          description: OK
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    type: 'null'
                    additionalProperties: false
                  errors:
                    $ref: '#/components/schemas/Errors'
                required:
                  - data
                  - errors
                additionalProperties: false
        '404':
          description: Not Found
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    type: 'null'
                  errors:
                    $ref: '#/components/schemas/Errors'
              example:
                data: null
                errors:
                  - errorCode: category-not-found
                    message: |-
                      Category with identificator
                      "5c499200-70ac-11e9-9208-08002774f818" not found.
                    instance: 5c499200-70ac-11e9-9208-08002774f818
        '409':
          description: Conflict
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    type: 'null'
                  errors:
                    $ref: '#/components/schemas/Errors'
              examples:
                example1:
                  value:
                    data: null
                    errors:
                      - errorCode: category-used-by-products
                        message: |-
                          Category "5c499200-70ac-11e9-9208-08002774f818" cannot
                          be deleted, because some products are assigned to it.
                        instance: 5c499200-70ac-11e9-9208-08002774f818
                example2:
                  value:
                    data: null
                    errors:
                      - errorCode: category-has-children
                        message: |-
                          Category "5c499200-70ac-11e9-9208-08002774f818" cannot
                          be deleted, because it is a parent category.
                        instance: 5c499200-70ac-11e9-9208-08002774f818
      summary: Product category deletion
      operationId: deleteProductCategory
      description: |-
        Deletes product category as per entered `categoryGuid`. If successful,
        returns the code 200.

        If the category does not exist within the e-shop, a 404 code is
        returned.

        If the category cannot be deleted, because it is used by some product or
        has children, a 409 code is returned.

        Optional parameter `deleteUsed` allows deleting categories used by
        products. The products are marked as changed.

        Optional parameter `deleteChildren` allows deleting categories with
        child categories. The children are deleted too.
      tags:
        - Products
      parameters:
        - name: categoryGuid
          in: path
          description: Category guid
          required: true
          example: 5c499200-70ac-11e9-9208-08002774f818
          schema:
            type: string
        - name: deleteUsed
          in: query
          description: Allows deleting categories used by products if set to `true`
          example: 'true'
          schema:
            type: boolean
        - name: deleteChildren
          in: query
          description: Allows deleting categories with children if set to `true`
          example: 'true'
          schema:
            type: boolean
        - $ref: '#/components/parameters/DefaultContentType'
  /api/categories/batch:
    patch:
      responses:
        '202':
          description: Accepted
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    additionalProperties: false
                    required:
                      - jobId
                    properties:
                      jobId:
                        examples:
                          - ad24xod
                        description: token of job
                        type: string
                  errors:
                    $ref: '#/components/schemas/Errors'
                required:
                  - data
                  - errors
                additionalProperties: false
      summary: Product category BATCH update
      operationId: updateProductCategoryBatch
      description: |-
        This endpoint allows you to update multiple categories at once. Batch
        update is processed asynchronously in same way as for example products
        snapshot,

        but it does not have `resultUrl` with categories to download in
        response. Instead, you can check attribute `log` which contains
        successfully updated categories and errors.


        See how [Asynchronous
        requests](https://developers.shoptet.com/asynchronous-requests/) work on
        our developer's portal.


        File with data for update must be in JSONL
        ([jsonlines](https://jsonlines.org/)) format. Each line must contain one
        category in JSON format. Maximum size of file is 100MB.

        Structure of JSON row is same as structure of JSON for single category
        update above. You can add one extra optional attribute

        "language" which defines language of updating category, so you are able
        to update multiple language attributes (i.e. "name", "description" etc.)
        of one category in one batch file.

        If language is not defined, default language of shop is used.


        Asynchronous job process jsonl file row by row and try to validate and
        save data. If there is any error, row is skipped and error is logged,
        but it does not stop processing of other rows.

        In Log, every product is identified by its position in file (starting
        from 1).
      tags:
        - Products
      requestBody:
        content:
          application/vnd.shoptet.v1.0+json:
            schema:
              type: object
              additionalProperties: false
              required:
                - batchFileUrlPath
              properties:
                batchFileUrlPath:
                  type: string
                  description: >-
                    Url to batch file with products data. File must be in JSONL
                    format.
                  examples:
                    - https://cdn.myshoptet.com/batch-products-update.jsonl
      parameters:
        - $ref: '#/components/parameters/DefaultContentType'
  /api/categories/{categoryGuid}/productsPriority:
    get:
      responses:
        '200':
          description: OK
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    additionalProperties: false
                    required:
                      - categoryProducts
                      - paginator
                    properties:
                      categoryProducts:
                        type: array
                        items:
                          type: object
                          additionalProperties: false
                          required:
                            - productGuid
                            - priority
                          properties:
                            productGuid:
                              $ref: '#/components/schemas/typeGuid'
                              description: Global unique permanent product identifier.
                            priority:
                              type:
                                - number
                                - 'null'
                              description: Order in the list
                              examples:
                                - 100
                      paginator:
                        $ref: '#/components/schemas/paginator'
                  errors:
                    $ref: '#/components/schemas/Errors'
                required:
                  - data
                  - errors
                additionalProperties: false
      summary: List of products order in category
      operationId: getListOfProductsOrderInCategory
      description: Retrieves products and their priorities within a category.
      tags:
        - Products
      parameters:
        - name: categoryGuid
          in: path
          description: Product category.
          required: true
          example: 5c498fb7-70ac-11e9-9208-08002774f818
          schema:
            type: string
        - $ref: '#/components/parameters/DefaultContentType'
    patch:
      responses:
        '200':
          description: OK
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    type: 'null'
                  errors:
                    $ref: '#/components/schemas/Errors'
                required:
                  - data
                  - errors
                additionalProperties: false
        '400':
          description: Bad Request
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    type: 'null'
                  errors:
                    $ref: '#/components/schemas/Errors'
              example:
                data: null
                errors:
                  - errorCode: unknown-product
                    message: |-
                      Product "19ee3c7c-92c7-11e9-9373-08002774f818" does not
                      exist. Skipped.
                    instance: 19ee3c7c-92c7-11e9-9373-08002774f818
      summary: Update product order in category
      operationId: updateProductOrderInCategory
      description: |-
        Using this endpoint you can update product priority within a category.

        You can request multiple updates at once; the maximum is 200 updates per
        request.

        In case of a partial failure, the response code will be `200 OK` and the
        errorneous items will be

        listed in the `errors` array. In case of a complete failure, response
        code will be `400 BAD REQUEST`.

        Minimum priority is 0, maximum priority is 65535.
      tags:
        - Products
      parameters:
        - name: categoryGuid
          in: path
          description: Product category.
          required: true
          example: 5c498fb7-70ac-11e9-9208-08002774f818
          schema:
            type: string
        - $ref: '#/components/parameters/DefaultContentType'
      requestBody:
        content:
          application/vnd.shoptet.v1.0+json:
            schema:
              type: object
              required:
                - data
              properties:
                data:
                  type: array
                  items:
                    type: object
                    required:
                      - productGuid
                      - priority
                    properties:
                      productGuid:
                        $ref: '#/components/schemas/typeGuidUnlimited'
                        description: GUID of the product
                      priority:
                        type:
                          - number
                          - 'null'
                        minimum: 0
                        maximum: 65535
                        description: Priority of the product
                        examples:
                          - '100'
  /api/parametric-categories:
    get:
      responses:
        '200':
          description: OK
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    additionalProperties: false
                    required:
                      - parametricCategories
                    properties:
                      parametricCategories:
                        type: array
                        items:
                          type: object
                          additionalProperties: false
                          required:
                            - guid
                            - name
                            - indexName
                            - url
                            - description
                            - secondDescription
                            - image
                            - title
                            - metaTagDescription
                            - originalCategoryGuid
                            - showInList
                            - showInDetail
                          properties:
                            guid:
                              type: string
                              description: unique identifier of the category
                              examples:
                                - 1b02cb8e-d7b5-11e0-9a5c-feab5ed617ed
                            name:
                              type: string
                              description: category name
                              examples:
                                - 'Watches: Space grey'
                            indexName:
                              type: string
                              description: ending part of category URL
                              examples:
                                - watches-space-grey
                            url:
                              type: string
                              description: category URL in the e-shop
                              examples:
                                - https://classic.shoptet.cz/watches-space-grey/
                            description:
                              type:
                                - string
                                - 'null'
                              description: top category description
                              examples:
                                - <p>Horní popis kategorie</p>
                            secondDescription:
                              type:
                                - string
                                - 'null'
                              description: bottom category description
                              examples:
                                - <p>Dolní popis kategorie</p>
                            image:
                              type:
                                - string
                                - 'null'
                              description: header image
                              examples:
                                - >-
                                  https://beta.shoptet.cz/user/categories/thumb/supreme-plush-santa-hat.jpg
                            title:
                              type:
                                - string
                                - 'null'
                              description: >-
                                HTML title element in the HTML header of the
                                category page
                              examples:
                                - Watches space grey nice ones
                            metaTagDescription:
                              type:
                                - string
                                - 'null'
                              description: HTML META header `Description` in category page
                              examples:
                                - Watches, space grey, nice, watch
                            originalCategoryGuid:
                              type:
                                - string
                                - 'null'
                              description: >-
                                unique identifier of the original category (from
                                which was the parametric category created)
                              examples:
                                - 1b02cb8e-d7b5-11e0-9a5c-feab5ed617ed
                            showInList:
                              type: boolean
                              description: >-
                                flag, whether the category is visible in product
                                list
                              examples:
                                - true
                            showInDetail:
                              type: boolean
                              description: >-
                                flag, whether the category is visible in product
                                detail
                              examples:
                                - true
                            parameters:
                              type: array
                              description: >-
                                parameters of the parametric category (requires
                                `parameters` include in request url)
                              items:
                                $ref: >-
                                  #/components/schemas/parameterValueCombinations
                      paginator:
                        $ref: '#/components/schemas/paginator'
                  errors:
                    $ref: '#/components/schemas/Errors'
                required:
                  - data
                  - errors
                additionalProperties: false
      summary: List of parametric categories
      operationId: getListOfParametricCategories
      description: Returns the list of product categories.
      tags:
        - Products
      parameters:
        - name: include
          in: query
          description: 'Include additional data in response. Possible values: `parameters`.'
          example: parameters
          schema:
            type: string
        - $ref: '#/components/parameters/DefaultContentType'
  /api/parametric-categories/{categoryGuid}:
    get:
      responses:
        '200':
          description: OK
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    additionalProperties: false
                    required:
                      - parametricCategory
                    properties:
                      parametricCategory:
                        type: object
                        additionalProperties: false
                        required:
                          - guid
                          - name
                          - indexName
                          - url
                          - description
                          - secondDescription
                          - image
                          - title
                          - metaTagDescription
                          - originalCategoryGuid
                          - showInList
                          - showInDetail
                        properties:
                          guid:
                            type: string
                            description: unique identifier of the category
                            examples:
                              - 1b02cb8e-d7b5-11e0-9a5c-feab5ed617ed
                          name:
                            type: string
                            description: category name
                            examples:
                              - 'Watches: Space grey'
                          indexName:
                            type: string
                            description: ending part of category URL
                            examples:
                              - watches-space-grey
                          url:
                            type: string
                            description: category URL in the e-shop
                            examples:
                              - https://classic.shoptet.cz/watches-space-grey/
                          description:
                            type:
                              - string
                              - 'null'
                            description: top category description
                            examples:
                              - <p>Horní popis kategorie</p>
                          secondDescription:
                            type:
                              - string
                              - 'null'
                            description: bottom category description
                            examples:
                              - <p>Dolní popis kategorie</p>
                          image:
                            type:
                              - string
                              - 'null'
                            description: header image
                            examples:
                              - >-
                                https://beta.shoptet.cz/user/categories/thumb/supreme-plush-santa-hat.jpg
                          title:
                            type:
                              - string
                              - 'null'
                            description: >-
                              HTML title element in the HTML header of the
                              category page
                            examples:
                              - Watches space grey nice ones
                          metaTagDescription:
                            type:
                              - string
                              - 'null'
                            description: HTML META header `Description` in category page
                            examples:
                              - Watches, spacegrey, nice, watch
                          originalCategoryGuid:
                            type:
                              - string
                              - 'null'
                            description: >-
                              unique identifier of the original category (from
                              which was the parametric category created)
                            examples:
                              - 1b02cb8e-d7b5-11e0-9a5c-feab5ed617ed
                          showInList:
                            type: boolean
                            description: >-
                              flag, whether the category is visible in product
                              list
                            examples:
                              - true
                          showInDetail:
                            type: boolean
                            description: >-
                              flag, whether the category is visible in product
                              detail
                            examples:
                              - true
                          parameters:
                            type: array
                            description: >-
                              parameters of the parametric category (requires
                              `parameters` include in request url)
                            items:
                              $ref: '#/components/schemas/parameterValueCombinations'
                  errors:
                    $ref: '#/components/schemas/Errors'
                required:
                  - data
                  - errors
                additionalProperties: false
      summary: Parametric category detail
      operationId: getParametricCategoryDetail
      description: Returns parametric category info.
      tags:
        - Products
      parameters:
        - name: categoryGuid
          in: path
          description: Guid of parametric category.
          required: true
          example: 5c498fb7-70ac-11e9-9208-08002774f818
          schema:
            type: string
        - $ref: '#/components/parameters/DefaultContentType'
  /api/products/flags:
    get:
      responses:
        '200':
          description: OK
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    additionalProperties: false
                    required:
                      - flags
                    properties:
                      flags:
                        type: array
                        items:
                          type: object
                          additionalProperties: false
                          required:
                            - code
                            - title
                            - system
                            - color
                            - showInDetail
                            - showInCategory
                          properties:
                            code:
                              type: string
                              description: Unique code of the flag
                              examples:
                                - action
                            title:
                              type: string
                              description: >-
                                flag name. This text is displayed to customers
                                in the e-shop.
                              examples:
                                - Action
                            system:
                              type: boolean
                              description: Is it a system flag common for all e-shops?
                              examples:
                                - true
                            color:
                              type:
                                - string
                                - 'null'
                              description: >-
                                color of the product flag displayed in the
                                e-shop.
                              examples:
                                - '#ffc702'
                            showInDetail:
                              type: boolean
                              description: >-
                                Should the flag be displayed in the product
                                detail?
                              examples:
                                - true
                            showInCategory:
                              type: boolean
                              description: >-
                                Should the flag be displayed in the category
                                product list?
                              examples:
                                - true
                  errors:
                    $ref: '#/components/schemas/Errors'
                required:
                  - data
                  - errors
                additionalProperties: false
      summary: List of products flags
      operationId: getListOfProductsFlags
      description: Returns the list of product flags within the e-shop.
      tags:
        - Products
      parameters:
        - $ref: '#/components/parameters/DefaultContentType'
    post:
      responses:
        '200':
          description: OK
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    additionalProperties: false
                    required:
                      - flags
                    properties:
                      flags:
                        type: array
                        items:
                          type: object
                          additionalProperties: false
                          required:
                            - code
                            - title
                            - system
                            - color
                            - showInDetail
                            - showInCategory
                          properties:
                            code:
                              type: string
                              description: Unique code of the flag
                              examples:
                                - action
                            title:
                              type: string
                              description: >-
                                flag name. This text is displayed to customers
                                in the e-shop.
                              examples:
                                - Action
                            system:
                              type: boolean
                              description: Is it a system flag common for all e-shops?
                              examples:
                                - true
                            color:
                              type:
                                - string
                                - 'null'
                              description: >-
                                color of the product flag displayed in the
                                e-shop.
                              examples:
                                - '#ffc702'
                            showInDetail:
                              type: boolean
                              description: >-
                                Should the flag be displayed in the product
                                detail?
                              examples:
                                - true
                            showInCategory:
                              type: boolean
                              description: >-
                                Should the flag be displayed in the category
                                product list?
                              examples:
                                - true
                  errors:
                    $ref: '#/components/schemas/Errors'
                required:
                  - data
                  - errors
                additionalProperties: false
      summary: Product flag insertion
      operationId: createProductFlag
      description: ''
      tags:
        - Products
      requestBody:
        content:
          application/vnd.shoptet.v1.0+json:
            schema:
              type: object
              additionalProperties: false
              required:
                - data
              properties:
                data:
                  type: object
                  additionalProperties: false
                  required:
                    - title
                  properties:
                    title:
                      type: string
                      minLength: 1
                      maxLength: 255
                      description: Name of flag.
                      examples:
                        - Sale
                    color:
                      type:
                        - string
                        - 'null'
                      $ref: '#/components/schemas/typeColor'
                      description: >-
                        Color of the parameter in hex format. NULL forces
                        default color.
      parameters:
        - $ref: '#/components/parameters/DefaultContentType'
  /api/products/flags/{code}:
    patch:
      responses:
        '200':
          description: OK
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    additionalProperties: false
                    required:
                      - flags
                    properties:
                      flags:
                        type: array
                        items:
                          type: object
                          additionalProperties: false
                          required:
                            - code
                            - title
                            - system
                            - color
                            - showInDetail
                            - showInCategory
                          properties:
                            code:
                              type: string
                              description: Unique code of the flag
                              examples:
                                - action
                            title:
                              type: string
                              description: >-
                                flag name. This text is displayed to customers
                                in the e-shop.
                              examples:
                                - Action
                            system:
                              type: boolean
                              description: Is it a system flag common for all e-shops?
                              examples:
                                - true
                            color:
                              type:
                                - string
                                - 'null'
                              description: >-
                                color of the product flag displayed in the
                                e-shop.
                              examples:
                                - '#ffc702'
                            showInDetail:
                              type: boolean
                              description: >-
                                Should the flag be displayed in the product
                                detail?
                              examples:
                                - true
                            showInCategory:
                              type: boolean
                              description: >-
                                Should the flag be displayed in the category
                                product list?
                              examples:
                                - true
                  errors:
                    $ref: '#/components/schemas/Errors'
                required:
                  - data
                  - errors
                additionalProperties: false
      summary: Product flag update
      operationId: updateProductFlag
      parameters:
        - name: code
          in: path
          description: ''
          required: true
          example: action
          schema:
            type: string
        - $ref: '#/components/parameters/DefaultContentType'
      description: Updates the flag.
      tags:
        - Products
      requestBody:
        content:
          application/vnd.shoptet.v1.0+json:
            schema:
              type: object
              additionalProperties: false
              required:
                - data
              properties:
                data:
                  type: object
                  additionalProperties: false
                  minProperties: 1
                  properties:
                    title:
                      type: string
                      minLength: 1
                      maxLength: 255
                      description: Name of flag.
                      examples:
                        - Sale
                    color:
                      type:
                        - string
                        - 'null'
                      $ref: '#/components/schemas/typeColor'
                      description: >-
                        Color of the parameter in hex format. NULL forces
                        default color.
    delete:
      responses:
        '200':
          description: OK
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    type: 'null'
                    additionalProperties: false
                  errors:
                    $ref: '#/components/schemas/Errors'
                required:
                  - data
                  - errors
                additionalProperties: false
      summary: Product flag delete
      operationId: deleteProductFlag
      parameters:
        - name: code
          in: path
          description: ''
          required: true
          example: action
          schema:
            type: string
        - $ref: '#/components/parameters/DefaultContentType'
      description: Deletes the flag. System flags cannot be deleted.
      tags:
        - Products
  /api/products/measure-units:
    get:
      responses:
        '200':
          description: OK
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    additionalProperties: false
                    required:
                      - measureUnits
                    properties:
                      measureUnits:
                        type: array
                        items:
                          type: object
                          additionalProperties: false
                          required:
                            - id
                            - unitName
                            - priority
                            - ratios
                          properties:
                            id:
                              type: integer
                              description: Measure unit ID
                              examples:
                                - -16
                            unitName:
                              type: string
                              description: Measure unit name
                              examples:
                                - kg
                            priority:
                              type:
                                - integer
                                - 'null'
                              description: >-
                                Unit priority specifies the order of measure
                                units.
                              examples:
                                - 11
                            ratios:
                              type: array
                              description: >-
                                List of other units which are convertible to
                                this one.
                              items:
                                type: object
                                additionalProperties: false
                                required:
                                  - unitId
                                  - ratio
                                properties:
                                  unitId:
                                    type: integer
                                    description: Unit ID
                                    examples:
                                      - 5
                                  ratio:
                                    $ref: '#/components/schemas/typeUnitRatio'
                  errors:
                    $ref: '#/components/schemas/Errors'
                required:
                  - data
                  - errors
                additionalProperties: false
      summary: List of products measure units
      operationId: getListOfProductsMeasureUnits
      description: Returns the list of product measure units within the e-shop.
      tags:
        - Products
      parameters:
        - $ref: '#/components/parameters/DefaultContentType'
  /api/products/availabilities:
    get:
      responses:
        '200':
          description: OK
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    additionalProperties: false
                    required:
                      - availabilities
                      - defaultAvailabilities
                    properties:
                      availabilities:
                        type: array
                        items:
                          type: object
                          additionalProperties: false
                          required:
                            - id
                            - name
                            - description
                            - color
                            - system
                            - onStockInHours
                            - deliveryInHours
                            - googleAvailability
                          properties:
                            id:
                              type: integer
                              description: ID of the availability
                              examples:
                                - -5
                            name:
                              type: string
                              description: Name of the availability
                              examples:
                                - On request
                            description:
                              type:
                                - string
                                - 'null'
                              description: Description of the availability
                              examples:
                                - >-
                                  Ordered from an external partner, details on
                                  request.
                            color:
                              type:
                                - string
                                - 'null'
                              description: Color of the availability
                              examples:
                                - '#cb0000'
                            system:
                              type: boolean
                              description: >-
                                Is availability default (system) and not user
                                made?
                              examples:
                                - true
                            onStockInHours:
                              type:
                                - integer
                                - 'null'
                              description: When will a product be on stock. (in hours)
                              examples:
                                - 48
                            deliveryInHours:
                              type:
                                - integer
                                - 'null'
                              description: When will a product be delivered. (in hours)
                              examples:
                                - 48
                            googleAvailability:
                              type:
                                - object
                                - 'null'
                              additionalProperties: false
                              description: Google availability info
                              required:
                                - id
                                - name
                              properties:
                                id:
                                  type: integer
                                  description: ID of the google availability
                                  examples:
                                    - 1
                                name:
                                  type: string
                                  description: Name of the google availability
                                  examples:
                                    - On stock
                      defaultAvailabilities:
                        type: object
                        additionalProperties: false
                        required:
                          - onStock
                          - soldOutNegativeStockAllowed
                          - soldOutNegativeStockForbidden
                        properties:
                          onStock:
                            type:
                              - integer
                              - 'null'
                            description: >-
                              ID of default availability when product is on
                              stock
                            examples:
                              - 1
                          soldOutNegativeStockAllowed:
                            type:
                              - integer
                              - 'null'
                            description: >-
                              ID of default availability when sold out and
                              buying sold out products is allowed
                            examples:
                              - -4
                          soldOutNegativeStockForbidden:
                            type:
                              - integer
                              - 'null'
                            description: >-
                              ID of default availability when sold out and
                              buying sold out products is forbidden
                            examples:
                              - -2
                  errors:
                    $ref: '#/components/schemas/Errors'
                required:
                  - data
                  - errors
                additionalProperties: false
      summary: List of products availabilities
      operationId: getListOfProductsAvailabilities
      description: >-
        Returns the list of product availabilities within the e-shop and default
        availabilities ids.
      tags:
        - Products
      parameters:
        - $ref: '#/components/parameters/DefaultContentType'
  /api/products/surcharge-parameters:
    get:
      responses:
        '200':
          description: OK
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    additionalProperties: false
                    required:
                      - surchargeParameters
                      - paginator
                    properties:
                      surchargeParameters:
                        type: array
                        items:
                          type: object
                          additionalProperties: false
                          required:
                            - id
                            - code
                            - name
                            - displayName
                            - description
                            - priority
                            - required
                            - currency
                            - includingVat
                            - values
                            - googleMapping
                          properties:
                            id:
                              type: integer
                              description: >-
                                Id of surcharge parameter. This identifier is
                                used on eshop frontend.
                              examples:
                                - 123
                            code:
                              type: string
                              description: Parameter code (identifier).
                              examples:
                                - potisk
                            name:
                              type: string
                              description: Name of surcharge parameter.
                              examples:
                                - S potiskem
                            displayName:
                              type:
                                - string
                                - 'null'
                              description: Parameter display name.
                              examples:
                                - Příplatek za potisk
                            description:
                              type:
                                - string
                                - 'null'
                              description: Description of surcharge parameter.
                              examples:
                                - Ozdobný potisk
                            priority:
                              type:
                                - integer
                                - 'null'
                              description: Priority of surcharge parameter.
                              examples:
                                - 1
                            required:
                              type: boolean
                              description: If surcharge parameter is required.
                              examples:
                                - true
                            currency:
                              type: string
                              description: Currency of surcharge parameter.
                              examples:
                                - CZK
                            includingVat:
                              type: boolean
                              description: Is price of parameter's values including VAT.
                              examples:
                                - true
                            googleMapping:
                              $ref: '#/components/schemas/googleMappingType'
                              description: Possible parameter mapping with google.
                            values:
                              type: array
                              description: Possible parameter's values.
                              items:
                                $ref: '#/components/schemas/surchargeParameterValue'
                      paginator:
                        $ref: '#/components/schemas/paginator'
                  errors:
                    $ref: '#/components/schemas/Errors'
                required:
                  - data
                  - errors
                additionalProperties: false
      summary: List of surcharge parameters
      operationId: getListOfSurchargeParameters
      description: >-
        Returns the list of available surcharge parameters with their available
        values within the e-shop.
      tags:
        - Products
      parameters:
        - $ref: '#/components/parameters/DefaultContentType'
    post:
      responses:
        '201':
          description: Created
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    additionalProperties: false
                    required:
                      - surchargeParameter
                    properties:
                      surchargeParameter:
                        type: object
                        additionalProperties: false
                        required:
                          - id
                          - code
                          - name
                          - displayName
                          - description
                          - priority
                          - required
                          - currency
                          - includingVat
                          - values
                          - googleMapping
                        properties:
                          id:
                            type: integer
                            description: >-
                              Id of surcharge parameter. This identifier is used
                              on eshop frontend.
                            examples:
                              - 123
                          code:
                            type: string
                            description: Parameter code (identifier).
                            examples:
                              - potisk
                          name:
                            type: string
                            description: Name of surcharge parameter.
                            examples:
                              - S potiskem
                          displayName:
                            type:
                              - string
                              - 'null'
                            description: Parameter display name.
                            examples:
                              - Příplatek za potisk
                          description:
                            type:
                              - string
                              - 'null'
                            description: Description of surcharge parameter.
                            examples:
                              - Ozdobný potisk
                          priority:
                            type:
                              - integer
                              - 'null'
                            description: Priority of surcharge parameter.
                            examples:
                              - 1
                          required:
                            type: boolean
                            description: If surcharge parameter is required.
                            examples:
                              - true
                          currency:
                            type: string
                            description: Currency of surcharge parameter.
                            examples:
                              - CZK
                          includingVat:
                            type: boolean
                            description: Is price of parameter's values including VAT.
                            examples:
                              - true
                          googleMapping:
                            $ref: '#/components/schemas/googleMappingType'
                            description: Possible parameter mapping with google.
                          values:
                            type: array
                            description: Possible parameter's values.
                            items:
                              $ref: '#/components/schemas/surchargeParameterValue'
                  errors:
                    $ref: '#/components/schemas/Errors'
                required:
                  - data
                  - errors
                additionalProperties: false
      summary: Creation of surcharge parameter
      operationId: createSurchargeParameter
      description: ''
      tags:
        - Products
      requestBody:
        content:
          application/vnd.shoptet.v1.0+json:
            schema:
              type: object
              additionalProperties: false
              required:
                - data
              properties:
                data:
                  type: object
                  additionalProperties: false
                  required:
                    - name
                    - values
                  properties:
                    currency:
                      type:
                        - string
                        - 'null'
                      $ref: '#/components/schemas/typeCurrencyCode'
                      description: >-
                        set currency value, if is not present, default currency
                        is chosen.
                      examples:
                        - CZK
                    displayName:
                      type:
                        - string
                        - 'null'
                      minLength: 1
                      description: Name of surcharge parameter.
                      examples:
                        - Povinny
                    name:
                      type: string
                      minLength: 1
                      maxLength: 255
                      description: Name of surcharge parameter.
                      examples:
                        - Povinný
                    code:
                      type: string
                      minLength: 1
                      maxLength: 255
                      pattern: ^[a-zA-Z0-9\-]*$
                      description: >-
                        Url friendly name of parameter. If is not set, code is
                        generated from name. When changed, you must use the new
                        code in the next API calls.
                      examples:
                        - povinny
                    description:
                      type:
                        - string
                        - 'null'
                      minLength: 1
                      description: Description of surcharge parameter.
                      examples:
                        - Popisek
                    required:
                      type: boolean
                      description: default value is false.
                      examples:
                        - true
                    includingVat:
                      type: boolean
                      description: default value is true.
                      examples:
                        - true
                    priority:
                      type:
                        - integer
                        - 'null'
                      minimum: 1
                      description: Parameter priority
                      examples:
                        - 1
                    googleMapping:
                      type:
                        - string
                        - 'null'
                      minLength: 1
                      maxLength: 255
                      description: Mapping for google.
                      examples:
                        - google:gender
                    values:
                      minItems: 1
                      type: array
                      description: Values of parameter.
                      items:
                        type: object
                        additionalProperties: false
                        required:
                          - name
                          - price
                        properties:
                          name:
                            type: string
                            minLength: 1
                            maxLength: 128
                            description: Name of parameter value
                            examples:
                              - Modrý
                          price:
                            $ref: '#/components/schemas/typePrice'
                            description: Additional price of surcharge parameter.
                          valueIndex:
                            type:
                              - string
                              - 'null'
                            minLength: 1
                            maxLength: 255
                            pattern: ^[a-zA-Z0-9\-]*$
                            description: >-
                              Url friendly name of parameter value. Maximal
                              length of 255 characters. If is not set, code is
                              generated from name.
                            examples:
                              - modry
                          priority:
                            type:
                              - integer
                              - 'null'
                            minimum: 1
                            description: Priority of parameter value.
                            examples:
                              - 1
      parameters:
        - $ref: '#/components/parameters/DefaultContentType'
  /api/products/surcharge-parameters/{code}:
    get:
      responses:
        '200':
          description: OK
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    additionalProperties: false
                    required:
                      - surchargeParameter
                    properties:
                      surchargeParameter:
                        type: object
                        additionalProperties: false
                        required:
                          - id
                          - code
                          - name
                          - displayName
                          - description
                          - priority
                          - required
                          - currency
                          - includingVat
                          - values
                          - googleMapping
                        properties:
                          id:
                            type: integer
                            description: >-
                              Id of surcharge parameter. This identifier is used
                              on eshop frontend.
                            examples:
                              - 123
                          code:
                            type: string
                            description: Parameter code (identifier).
                            examples:
                              - potisk
                          name:
                            type: string
                            description: Name of surcharge parameter.
                            examples:
                              - S potiskem
                          displayName:
                            type:
                              - string
                              - 'null'
                            description: Parameter display name.
                            examples:
                              - Příplatek za potisk
                          description:
                            type:
                              - string
                              - 'null'
                            description: Description of surcharge parameter.
                            examples:
                              - Ozdobný potisk
                          priority:
                            type:
                              - integer
                              - 'null'
                            description: Priority of surcharge parameter.
                            examples:
                              - 1
                          required:
                            type: boolean
                            description: If surcharge parameter is required.
                            examples:
                              - true
                          currency:
                            type: string
                            description: Currency of surcharge parameter.
                            examples:
                              - CZK
                          includingVat:
                            type: boolean
                            description: Is price of parameter's values including VAT.
                            examples:
                              - true
                          googleMapping:
                            $ref: '#/components/schemas/googleMappingType'
                            description: Possible parameter mapping with google.
                          values:
                            type: array
                            description: Possible parameter's values.
                            items:
                              $ref: '#/components/schemas/surchargeParameterValue'
                  errors:
                    $ref: '#/components/schemas/Errors'
                required:
                  - data
                  - errors
                additionalProperties: false
      summary: Detail of surcharge parameter
      operationId: getDetailOfSurchargeParameter
      description: ''
      tags:
        - Products
      parameters:
        - name: code
          in: path
          description: ''
          required: true
          example: povinny
          schema:
            type: string
        - $ref: '#/components/parameters/DefaultContentType'
    patch:
      responses:
        '200':
          description: OK
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    additionalProperties: false
                    required:
                      - surchargeParameter
                    properties:
                      surchargeParameter:
                        type: object
                        additionalProperties: false
                        required:
                          - id
                          - code
                          - name
                          - displayName
                          - description
                          - priority
                          - required
                          - currency
                          - includingVat
                          - googleMapping
                        properties:
                          id:
                            type: integer
                            description: >-
                              Id of surcharge parameter. This identifier is used
                              on eshop frontend.
                            examples:
                              - 123
                          code:
                            type: string
                            description: Parameter code (identifier).
                            examples:
                              - potisk
                          name:
                            type: string
                            description: Name of surcharge parameter.
                            examples:
                              - S potiskem
                          displayName:
                            type:
                              - string
                              - 'null'
                            description: Parameter display name.
                            examples:
                              - Příplatek za potisk
                          description:
                            type:
                              - string
                              - 'null'
                            description: Description of surcharge parameter.
                            examples:
                              - Ozdobný potisk
                          priority:
                            type:
                              - integer
                              - 'null'
                            description: Priority of surcharge parameter.
                            examples:
                              - 1
                          required:
                            type: boolean
                            description: If surcharge parameter is required.
                            examples:
                              - true
                          currency:
                            type: string
                            description: Currency of surcharge parameter.
                            examples:
                              - CZK
                          includingVat:
                            type: boolean
                            description: Is price of parameter's values including VAT.
                            examples:
                              - true
                          googleMapping:
                            $ref: '#/components/schemas/googleMappingType'
                            description: Possible parameter mapping with google.
                  errors:
                    $ref: '#/components/schemas/Errors'
                required:
                  - data
                  - errors
                additionalProperties: false
      summary: Update of surcharge parameter
      operationId: updateSurchargeParameter
      description: ''
      tags:
        - Products
      parameters:
        - name: code
          in: path
          description: ''
          required: true
          example: povinny
          schema:
            type: string
        - $ref: '#/components/parameters/DefaultContentType'
      requestBody:
        content:
          application/vnd.shoptet.v1.0+json:
            schema:
              type: object
              required:
                - data
              additionalProperties: false
              properties:
                data:
                  type: object
                  additionalProperties: false
                  minProperties: 1
                  properties:
                    name:
                      type: string
                      minLength: 1
                      maxLength: 255
                      description: Name of surcharge parameter.
                      examples:
                        - Povinný
                    code:
                      type: string
                      minLength: 1
                      maxLength: 255
                      pattern: ^[a-zA-Z0-9\-]*$
                      description: >-
                        Url friendly name of parameter. If is not set, code is
                        generated from name. When changed, you must use the new
                        code in the next API calls.
                      examples:
                        - povinny
                    displayName:
                      type:
                        - string
                        - 'null'
                      minLength: 1
                      description: Name of surcharge parameter.
                      examples:
                        - Povinny
                    description:
                      type:
                        - string
                        - 'null'
                      minLength: 1
                      description: Description of surcharge parameter.
                      examples:
                        - Popisek
                    priority:
                      type:
                        - integer
                        - 'null'
                      minimum: 1
                      description: Parameter priority
                      examples:
                        - 1
                    googleMapping:
                      type:
                        - string
                        - 'null'
                      minLength: 1
                      maxLength: 255
                      description: Mapping for google.
                      examples:
                        - google:gender
                    currency:
                      type:
                        - string
                        - 'null'
                      $ref: '#/components/schemas/typeCurrencyCode'
                      description: >-
                        set currency value, if is not present, default currency
                        is chosen.
                      examples:
                        - CZK
                    required:
                      type: boolean
                      description: default value is false.
                      examples:
                        - true
                    includingVat:
                      type: boolean
                      description: default value is true.
                      examples:
                        - true
    post:
      responses:
        '201':
          description: Created
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    additionalProperties: false
                    required:
                      - surchargeParameter
                    properties:
                      surchargeParameter:
                        type: object
                        additionalProperties: false
                        required:
                          - id
                          - code
                          - name
                          - displayName
                          - description
                          - priority
                          - required
                          - currency
                          - includingVat
                          - values
                          - googleMapping
                        properties:
                          id:
                            type: integer
                            description: >-
                              Id of surcharge parameter. This identifier is used
                              on eshop frontend.
                            examples:
                              - 123
                          code:
                            type: string
                            description: Parameter code (identifier).
                            examples:
                              - potisk
                          name:
                            type: string
                            description: Name of surcharge parameter.
                            examples:
                              - S potiskem
                          displayName:
                            type:
                              - string
                              - 'null'
                            description: Parameter display name.
                            examples:
                              - Příplatek za potisk
                          description:
                            type:
                              - string
                              - 'null'
                            description: Description of surcharge parameter.
                            examples:
                              - Ozdobný potisk
                          priority:
                            type:
                              - integer
                              - 'null'
                            description: Priority of surcharge parameter.
                            examples:
                              - 1
                          required:
                            type: boolean
                            description: If surcharge parameter is required.
                            examples:
                              - true
                          currency:
                            type: string
                            description: Currency of surcharge parameter.
                            examples:
                              - CZK
                          includingVat:
                            type: boolean
                            description: Is price of parameter's values including VAT.
                            examples:
                              - true
                          googleMapping:
                            $ref: '#/components/schemas/googleMappingType'
                            description: Possible parameter mapping with google.
                          values:
                            type: array
                            description: Possible parameter's values.
                            items:
                              $ref: '#/components/schemas/surchargeParameterValue'
                  errors:
                    $ref: '#/components/schemas/Errors'
                required:
                  - data
                  - errors
                additionalProperties: false
      summary: Creation of surcharge parameter value
      operationId: createSurchargeParameterValue
      description: ''
      tags:
        - Products
      parameters:
        - name: code
          in: path
          description: ''
          required: true
          example: povinny
          schema:
            type: string
        - $ref: '#/components/parameters/DefaultContentType'
      requestBody:
        content:
          application/vnd.shoptet.v1.0+json:
            schema:
              type: object
              additionalProperties: false
              required:
                - data
              properties:
                data:
                  type: object
                  additionalProperties: false
                  required:
                    - paramValues
                  properties:
                    paramValues:
                      minItems: 1
                      type: array
                      items:
                        type: object
                        additionalProperties: false
                        required:
                          - name
                          - price
                        properties:
                          name:
                            type: string
                            minLength: 1
                            maxLength: 128
                            description: Name of parameter value.
                            examples:
                              - Modrý
                          price:
                            $ref: '#/components/schemas/typePrice'
                            description: Additional price of surcharge parameter.
                          valueIndex:
                            type:
                              - string
                              - 'null'
                            minLength: 1
                            maxLength: 255
                            pattern: ^[a-zA-Z0-9\-]*$
                            description: >-
                              Url friendly name of parameter value. Maximal
                              length of 255 characters. If is not set, code is
                              generated from name.
                            examples:
                              - modry
                          priority:
                            type:
                              - integer
                              - 'null'
                            minimum: 1
                            description: Parameter value priority
                            examples:
                              - 1
    delete:
      responses:
        '200':
          description: OK
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    type: 'null'
                    additionalProperties: false
                  errors:
                    $ref: '#/components/schemas/Errors'
                required:
                  - data
                  - errors
                additionalProperties: false
      summary: Removal of surcharge parameter
      operationId: deleteSurchargeParameterByIndex
      description: ''
      tags:
        - Products
      parameters:
        - name: code
          in: path
          description: ''
          required: true
          example: povinny
          schema:
            type: string
        - $ref: '#/components/parameters/DefaultContentType'
  /api/products/surcharge-parameters/{paramIndex}/{valueIndex}:
    delete:
      responses:
        '200':
          description: OK
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    type: 'null'
                    additionalProperties: false
                  errors:
                    $ref: '#/components/schemas/Errors'
                required:
                  - data
                  - errors
                additionalProperties: false
      summary: Removal of surcharge parameter value
      operationId: deleteSurchargeParameterValue
      description: ''
      tags:
        - Products
      parameters:
        - name: paramIndex
          in: path
          description: ''
          required: true
          example: povinny
          schema:
            type: string
        - name: valueIndex
          in: path
          description: ''
          required: true
          example: modry
          schema:
            type: string
        - $ref: '#/components/parameters/DefaultContentType'
    patch:
      responses:
        '200':
          description: OK
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    additionalProperties: false
                    required:
                      - surchargeParameter
                    properties:
                      surchargeParameter:
                        type: object
                        additionalProperties: false
                        required:
                          - id
                          - code
                          - name
                          - displayName
                          - description
                          - priority
                          - required
                          - currency
                          - includingVat
                          - values
                          - googleMapping
                        properties:
                          id:
                            type: integer
                            description: >-
                              Id of surcharge parameter. This identifier is used
                              on eshop frontend.
                            examples:
                              - 123
                          code:
                            type: string
                            description: Parameter code (identifier).
                            examples:
                              - potisk
                          name:
                            type: string
                            description: Name of surcharge parameter.
                            examples:
                              - S potiskem
                          displayName:
                            type:
                              - string
                              - 'null'
                            description: Parameter display name.
                            examples:
                              - Příplatek za potisk
                          description:
                            type:
                              - string
                              - 'null'
                            description: Description of surcharge parameter.
                            examples:
                              - Ozdobný potisk
                          priority:
                            type:
                              - integer
                              - 'null'
                            description: Priority of surcharge parameter.
                            examples:
                              - 1
                          required:
                            type: boolean
                            description: If surcharge parameter is required.
                            examples:
                              - true
                          currency:
                            type: string
                            description: Currency of surcharge parameter.
                            examples:
                              - CZK
                          includingVat:
                            type: boolean
                            description: Is price of parameter's values including VAT.
                            examples:
                              - true
                          googleMapping:
                            $ref: '#/components/schemas/googleMappingType'
                            description: Possible parameter mapping with google.
                          values:
                            type: array
                            description: Possible parameter's values.
                            items:
                              $ref: '#/components/schemas/surchargeParameterValue'
                  errors:
                    $ref: '#/components/schemas/Errors'
                required:
                  - data
                  - errors
                additionalProperties: false
      summary: Update of surcharge parameter value
      operationId: updateSurchargeParameterValue
      description: ''
      tags:
        - Products
      parameters:
        - name: paramIndex
          in: path
          description: ''
          required: true
          example: povinny
          schema:
            type: string
        - name: valueIndex
          in: path
          description: ''
          required: true
          example: modry
          schema:
            type: string
        - $ref: '#/components/parameters/DefaultContentType'
      requestBody:
        content:
          application/vnd.shoptet.v1.0+json:
            schema:
              type: object
              additionalProperties: false
              required:
                - data
              properties:
                data:
                  type: object
                  additionalProperties: false
                  minProperties: 1
                  properties:
                    name:
                      type: string
                      minLength: 1
                      maxLength: 128
                      description: Name of the parameter value
                      examples:
                        - Modrý
                    valueIndex:
                      type:
                        - string
                        - 'null'
                      minLength: 1
                      maxLength: 255
                      pattern: ^[a-zA-Z0-9\-]*$
                      description: >-
                        Url friendly name of parameter value. If is not set,
                        code is generated from name. When changed, you must use
                        the new valueIndex in the next API calls.
                      examples:
                        - modry
                    priority:
                      type:
                        - integer
                        - 'null'
                      minimum: 1
                      description: Parameter value priority.
                      examples:
                        - 1
                    price:
                      $ref: '#/components/schemas/typePrice'
                      description: Additional price of surcharge parameter.
  /api/products/filtering-parameters:
    get:
      responses:
        '200':
          description: OK
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    additionalProperties: false
                    required:
                      - filteringParameters
                      - paginator
                    properties:
                      filteringParameters:
                        type: array
                        items:
                          type: object
                          additionalProperties: false
                          required:
                            - id
                            - code
                            - name
                            - displayName
                            - description
                            - priority
                            - googleMapping
                            - values
                          properties:
                            id:
                              type: integer
                              description: Parameter id
                              examples:
                                - 1
                            code:
                              type: string
                              description: Parameter code
                              examples:
                                - material
                            name:
                              type: string
                              description: Parameter name
                              examples:
                                - Material
                            displayName:
                              type:
                                - string
                                - 'null'
                              description: Parameter display name
                              examples:
                                - Material of product
                            description:
                              type:
                                - string
                                - 'null'
                              description: Parameter description
                              examples:
                                - Material of product
                            priority:
                              type:
                                - integer
                                - 'null'
                              description: Parameter priority
                              examples:
                                - 1
                            googleMapping:
                              $ref: '#/components/schemas/googleMappingType'
                            values:
                              type: array
                              items:
                                $ref: >-
                                  #/components/schemas/productFilteringParameterValue
                      paginator:
                        $ref: '#/components/schemas/paginator'
                  errors:
                    $ref: '#/components/schemas/Errors'
                required:
                  - data
                  - errors
                additionalProperties: false
      summary: List of filtering parameters
      operationId: getListOfFilteringParameters
      description: >-
        Returns the list of available filtering parameters with their available
        values within the e-shop.
      tags:
        - Products
      parameters:
        - $ref: '#/components/parameters/DefaultContentType'
    post:
      responses:
        '201':
          description: Created
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    additionalProperties: false
                    required:
                      - id
                      - code
                      - name
                      - displayName
                      - description
                      - priority
                      - googleMapping
                    properties:
                      id:
                        type: integer
                        description: Parameter id
                        examples:
                          - 1
                      code:
                        type: string
                        description: Parameter code
                        examples:
                          - material
                      name:
                        type: string
                        description: Parameter name
                        examples:
                          - Material
                      displayName:
                        type:
                          - string
                          - 'null'
                        description: Parameter display name
                        examples:
                          - Material of product
                      description:
                        type:
                          - string
                          - 'null'
                        description: Parameter description
                        examples:
                          - Material of product
                      priority:
                        type:
                          - integer
                          - 'null'
                        description: Parameter priority
                        examples:
                          - 1
                      googleMapping:
                        $ref: '#/components/schemas/googleMappingType'
                      values:
                        type: array
                        items:
                          $ref: '#/components/schemas/productFilteringParameterValue'
                  errors:
                    $ref: '#/components/schemas/Errors'
                required:
                  - data
                  - errors
                additionalProperties: false
      summary: Creation of filtering parameter
      operationId: createFilteringParameter
      description: ''
      tags:
        - Products
      requestBody:
        content:
          application/vnd.shoptet.v1.0+json:
            schema:
              type: object
              additionalProperties: false
              required:
                - data
              properties:
                data:
                  type: object
                  additionalProperties: false
                  required:
                    - name
                    - values
                  properties:
                    name:
                      type: string
                      minLength: 1
                      maxLength: 255
                      description: Parameter name
                      examples:
                        - Materiál
                    code:
                      type: string
                      minLength: 1
                      maxLength: 255
                      pattern: ^[a-zA-Z0-9\-]*$
                      description: >-
                        Url friendly name of parameter. When changed, in next
                        API call you must use the new parameter code.
                      examples:
                        - material
                    displayName:
                      type:
                        - string
                        - 'null'
                      minLength: 1
                      maxLength: 255
                      description: Parameter display name
                      examples:
                        - Materiál
                    description:
                      type:
                        - string
                        - 'null'
                      minLength: 1
                      description: Parameter description
                      examples:
                        - Popisek
                    priority:
                      type:
                        - integer
                        - 'null'
                      minimum: 1
                      description: Parameter priority
                      examples:
                        - 1
                    googleMapping:
                      type:
                        - string
                        - 'null'
                      minLength: 1
                      maxLength: 255
                      description: Mapping for google.
                      examples:
                        - google:color
                    values:
                      minItems: 1
                      $ref: '#/components/schemas/productFilteringParameterValues'
      parameters:
        - $ref: '#/components/parameters/DefaultContentType'
  /api/products/filtering-parameters/{code}:
    get:
      responses:
        '200':
          description: OK
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    additionalProperties: false
                    required:
                      - id
                      - code
                      - name
                      - displayName
                      - description
                      - priority
                      - googleMapping
                    properties:
                      id:
                        type: integer
                        description: Parameter id
                        examples:
                          - 1
                      code:
                        type: string
                        description: Parameter code
                        examples:
                          - material
                      name:
                        type: string
                        description: Parameter name
                        examples:
                          - Material
                      displayName:
                        type:
                          - string
                          - 'null'
                        description: Parameter display name
                        examples:
                          - Material of product
                      description:
                        type:
                          - string
                          - 'null'
                        description: Parameter description
                        examples:
                          - Material of product
                      priority:
                        type:
                          - integer
                          - 'null'
                        description: Parameter priority
                        examples:
                          - 1
                      googleMapping:
                        $ref: '#/components/schemas/googleMappingType'
                      values:
                        type: array
                        items:
                          $ref: '#/components/schemas/productFilteringParameterValue'
                  errors:
                    $ref: '#/components/schemas/Errors'
                required:
                  - data
                  - errors
                additionalProperties: false
      summary: Detail of filtering parameter
      operationId: getDetailOfFilteringParameter
      description: ''
      tags:
        - Products
      parameters:
        - name: code
          in: path
          description: ''
          required: true
          example: material
          schema:
            type: string
        - $ref: '#/components/parameters/DefaultContentType'
    patch:
      responses:
        '200':
          description: OK
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    additionalProperties: false
                    required:
                      - id
                      - code
                      - name
                      - displayName
                      - description
                      - priority
                      - googleMapping
                    properties:
                      id:
                        type: integer
                        description: Parameter id
                        examples:
                          - 1
                      code:
                        type: string
                        description: Parameter code
                        examples:
                          - material
                      name:
                        type: string
                        description: Parameter name
                        examples:
                          - Material
                      displayName:
                        type:
                          - string
                          - 'null'
                        description: Parameter display name
                        examples:
                          - Material of product
                      description:
                        type:
                          - string
                          - 'null'
                        description: Parameter description
                        examples:
                          - Material of product
                      priority:
                        type:
                          - integer
                          - 'null'
                        description: Parameter priority
                        examples:
                          - 1
                      googleMapping:
                        $ref: '#/components/schemas/googleMappingType'
                      values:
                        type: array
                        items:
                          $ref: '#/components/schemas/productFilteringParameterValue'
                  errors:
                    $ref: '#/components/schemas/Errors'
                required:
                  - data
                  - errors
                additionalProperties: false
      summary: Update of filtering parameter
      operationId: updateFilteringParameter
      description: ''
      tags:
        - Products
      parameters:
        - name: code
          in: path
          description: ''
          required: true
          example: material
          schema:
            type: string
        - $ref: '#/components/parameters/DefaultContentType'
      requestBody:
        content:
          application/vnd.shoptet.v1.0+json:
            schema:
              type: object
              additionalProperties: false
              required:
                - data
              properties:
                data:
                  type: object
                  additionalProperties: false
                  minProperties: 1
                  properties:
                    name:
                      type: string
                      minLength: 1
                      maxLength: 255
                      description: Parameter name
                      examples:
                        - Materiál
                    code:
                      type: string
                      minLength: 1
                      maxLength: 255
                      pattern: ^[a-zA-Z0-9\-]*$
                      description: >-
                        Url friendly name of parameter. When changed, in next
                        API call you must use the new parameter code.
                      examples:
                        - material
                    displayName:
                      type:
                        - string
                        - 'null'
                      minLength: 1
                      maxLength: 255
                      description: Parameter display name
                      examples:
                        - Materiál
                    description:
                      type:
                        - string
                        - 'null'
                      minLength: 1
                      description: Parameter description
                      examples:
                        - Popisek
                    priority:
                      type:
                        - integer
                        - 'null'
                      minimum: 1
                      description: Parameter priority
                      examples:
                        - 1
                    googleMapping:
                      type:
                        - string
                        - 'null'
                      minLength: 1
                      maxLength: 255
                      description: Mapping for google.
                      examples:
                        - google:color
    post:
      responses:
        '201':
          description: Created
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    additionalProperties: false
                    required:
                      - id
                      - code
                      - name
                      - displayName
                      - description
                      - priority
                      - googleMapping
                    properties:
                      id:
                        type: integer
                        description: Parameter id
                        examples:
                          - 1
                      code:
                        type: string
                        description: Parameter code
                        examples:
                          - material
                      name:
                        type: string
                        description: Parameter name
                        examples:
                          - Material
                      displayName:
                        type:
                          - string
                          - 'null'
                        description: Parameter display name
                        examples:
                          - Material of product
                      description:
                        type:
                          - string
                          - 'null'
                        description: Parameter description
                        examples:
                          - Material of product
                      priority:
                        type:
                          - integer
                          - 'null'
                        description: Parameter priority
                        examples:
                          - 1
                      googleMapping:
                        $ref: '#/components/schemas/googleMappingType'
                      values:
                        type: array
                        items:
                          $ref: '#/components/schemas/productFilteringParameterValue'
                  errors:
                    $ref: '#/components/schemas/Errors'
                required:
                  - data
                  - errors
                additionalProperties: false
      summary: Creation of filtering parameter value
      operationId: createFilteringParameterValue
      description: ''
      tags:
        - Products
      parameters:
        - name: code
          in: path
          description: ''
          required: true
          example: material
          schema:
            type: string
        - $ref: '#/components/parameters/DefaultContentType'
      requestBody:
        content:
          application/vnd.shoptet.v1.0+json:
            schema:
              type: object
              additionalProperties: false
              required:
                - data
              properties:
                data:
                  type: object
                  additionalProperties: false
                  required:
                    - paramValues
                  properties:
                    paramValues:
                      minItems: 1
                      $ref: '#/components/schemas/productFilteringParameterValues'
    delete:
      responses:
        '200':
          description: OK
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    type: 'null'
                    additionalProperties: false
                  errors:
                    $ref: '#/components/schemas/Errors'
                required:
                  - data
                  - errors
                additionalProperties: false
      summary: Removal of filtering parameter
      operationId: deleteFilteringParameter
      description: ''
      tags:
        - Products
      parameters:
        - name: code
          in: path
          description: ''
          required: true
          example: strih-2
          schema:
            type: string
        - $ref: '#/components/parameters/DefaultContentType'
  /api/products/filtering-parameters/{code}/{valueIndex}:
    delete:
      responses:
        '200':
          description: OK
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    type: 'null'
                    additionalProperties: false
                  errors:
                    $ref: '#/components/schemas/Errors'
                required:
                  - data
                  - errors
                additionalProperties: false
      summary: Removal of filtering parameter value
      operationId: deleteFilteringParameterValue
      description: ''
      tags:
        - Products
      parameters:
        - name: code
          in: path
          description: ''
          required: true
          example: pohlavi
          schema:
            type: string
        - name: valueIndex
          in: path
          description: ''
          required: true
          example: muz
          schema:
            type: string
        - $ref: '#/components/parameters/DefaultContentType'
    patch:
      responses:
        '200':
          description: OK
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    additionalProperties: false
                    required:
                      - id
                      - code
                      - name
                      - displayName
                      - description
                      - priority
                      - googleMapping
                    properties:
                      id:
                        type: integer
                        description: Parameter id
                        examples:
                          - 1
                      code:
                        type: string
                        description: Parameter code
                        examples:
                          - material
                      name:
                        type: string
                        description: Parameter name
                        examples:
                          - Material
                      displayName:
                        type:
                          - string
                          - 'null'
                        description: Parameter display name
                        examples:
                          - Material of product
                      description:
                        type:
                          - string
                          - 'null'
                        description: Parameter description
                        examples:
                          - Material of product
                      priority:
                        type:
                          - integer
                          - 'null'
                        description: Parameter priority
                        examples:
                          - 1
                      googleMapping:
                        $ref: '#/components/schemas/googleMappingType'
                      values:
                        type: array
                        items:
                          $ref: '#/components/schemas/productFilteringParameterValue'
                  errors:
                    $ref: '#/components/schemas/Errors'
                required:
                  - data
                  - errors
                additionalProperties: false
      summary: Update of filtering parameter value
      operationId: updateFilteringParameterValue
      description: ''
      tags:
        - Products
      parameters:
        - name: code
          in: path
          description: ''
          required: true
          example: material
          schema:
            type: string
        - name: valueIndex
          in: path
          description: ''
          required: true
          example: bavlna
          schema:
            type: string
        - $ref: '#/components/parameters/DefaultContentType'
      requestBody:
        content:
          application/vnd.shoptet.v1.0+json:
            schema:
              type: object
              additionalProperties: false
              required:
                - data
              properties:
                data:
                  type: object
                  additionalProperties: false
                  minProperties: 1
                  properties:
                    name:
                      type: string
                      minLength: 1
                      maxLength: 128
                      description: Name of parameter value.
                      examples:
                        - Bavlna
                    valueIndex:
                      type:
                        - string
                        - 'null'
                      minLength: 1
                      maxLength: 255
                      pattern: ^[a-zA-Z0-9\-]*$
                      description: Url friendly name of parameter value.
                      examples:
                        - bavlna
                    priority:
                      type:
                        - integer
                        - 'null'
                      minimum: 1
                      description: Parameter value priority.
                      examples:
                        - 1
                    color:
                      type:
                        - string
                        - 'null'
                      $ref: '#/components/schemas/typeColor'
                      description: Color hex code.
                    image:
                      type:
                        - string
                        - 'null'
                      minLength: 1
                      maxLength: 255
                      description: Image name. Image needs to exist in your file folder.
                      examples:
                        - car-001.jpg
  /api/products/variant-parameters:
    get:
      responses:
        '200':
          description: OK
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    additionalProperties: false
                    required:
                      - parameters
                      - paginator
                    properties:
                      parameters:
                        type: array
                        items:
                          type: object
                          additionalProperties: false
                          required:
                            - id
                            - paramName
                            - paramIndex
                            - priority
                          properties:
                            id:
                              type: integer
                              description: ID of the parameter
                              examples:
                                - 1
                            paramName:
                              type:
                                - string
                                - 'null'
                              description: name of the parameter
                              examples:
                                - Color
                            paramIndex:
                              type: string
                              description: index of the parameter (identifier)
                              examples:
                                - color
                            priority:
                              type:
                                - integer
                                - 'null'
                              description: priority of the parameter
                              examples:
                                - 1
                            values:
                              type: array
                              description: Possible parameter values
                              items:
                                $ref: >-
                                  #/components/schemas/productVariantParameterValue
                      paginator:
                        $ref: '#/components/schemas/paginator'
                  errors:
                    $ref: '#/components/schemas/Errors'
                required:
                  - data
                  - errors
                additionalProperties: false
      summary: List of variant parameters
      operationId: getListOfVariantParameters
      description: >-
        Returns the list of available variant parameters with their available
        values within the e-shop.



        List of variant parameters endpoint has section, which is only sent when
        requested in the `include` parameter.


        Value | Section

        --------|------

        `values` | Variant parameter values
      tags:
        - Products
      parameters:
        - name: include
          in: query
          description: Optional parts of response
          example: values
          schema:
            type: string
        - $ref: '#/components/parameters/DefaultContentType'
    post:
      responses:
        '201':
          description: Created
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    additionalProperties: false
                    required:
                      - id
                      - paramName
                      - paramIndex
                      - priority
                    properties:
                      id:
                        type: integer
                        description: ID of the parameter
                        examples:
                          - 1
                      paramName:
                        type:
                          - string
                          - 'null'
                        description: name of the parameter
                        examples:
                          - Color
                      paramIndex:
                        type: string
                        description: index of the parameter (identifier)
                        examples:
                          - color
                      priority:
                        type:
                          - integer
                          - 'null'
                        description: priority of the parameter
                        examples:
                          - 1
                      values:
                        type: array
                        description: Possible parameter values
                        items:
                          $ref: '#/components/schemas/productVariantParameterValue'
                  errors:
                    $ref: '#/components/schemas/Errors'
                required:
                  - data
                  - errors
                additionalProperties: false
      summary: Creation of variant parameter
      operationId: createVariantParameter
      description: ''
      tags:
        - Products
      requestBody:
        content:
          application/vnd.shoptet.v1.0+json:
            schema:
              type: object
              additionalProperties: false
              required:
                - data
              properties:
                data:
                  type: object
                  additionalProperties: false
                  required:
                    - paramName
                  properties:
                    paramName:
                      type: string
                      minLength: 1
                      maxLength: 255
                      description: Name of parameter. Maximal length of 255 characters
                      examples:
                        - Barevné spektrum
                    paramIndex:
                      type:
                        - string
                        - 'null'
                      minLength: 1
                      maxLength: 255
                      pattern: ^[a-zA-Z0-9\-]*$
                      description: >-
                        Url friendly name of parameter. Maximal length of 255
                        characters.
                      examples:
                        - barevne-spektrum
                    priority:
                      type:
                        - integer
                        - 'null'
                      minimum: 1
                      description: Priority of parameter
                      examples:
                        - 20
                    values:
                      $ref: '#/components/schemas/productVariantParameterValues'
      parameters:
        - $ref: '#/components/parameters/DefaultContentType'
  /api/products/variant-parameters/{paramIndex}:
    get:
      responses:
        '200':
          description: OK
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    additionalProperties: false
                    required:
                      - id
                      - paramName
                      - paramIndex
                      - priority
                    properties:
                      id:
                        type: integer
                        description: ID of the parameter
                        examples:
                          - 1
                      paramName:
                        type:
                          - string
                          - 'null'
                        description: name of the parameter
                        examples:
                          - Color
                      paramIndex:
                        type: string
                        description: index of the parameter (identifier)
                        examples:
                          - color
                      priority:
                        type:
                          - integer
                          - 'null'
                        description: priority of the parameter
                        examples:
                          - 1
                      values:
                        type: array
                        description: Possible parameter values
                        items:
                          $ref: '#/components/schemas/productVariantParameterValue'
                  errors:
                    $ref: '#/components/schemas/Errors'
                required:
                  - data
                  - errors
                additionalProperties: false
      summary: Detail of variant parameter
      operationId: getDetailOfVariantParameter
      description: ''
      tags:
        - Products
      parameters:
        - name: paramIndex
          in: path
          description: ''
          required: true
          example: barva
          schema:
            type: string
        - $ref: '#/components/parameters/DefaultContentType'
    patch:
      responses:
        '200':
          description: OK
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    additionalProperties: false
                    required:
                      - id
                      - paramName
                      - paramIndex
                      - priority
                    properties:
                      id:
                        type: integer
                        description: ID of the parameter
                        examples:
                          - 1
                      paramName:
                        type:
                          - string
                          - 'null'
                        description: name of the parameter
                        examples:
                          - Color
                      paramIndex:
                        type: string
                        description: index of the parameter (identifier)
                        examples:
                          - color
                      priority:
                        type:
                          - integer
                          - 'null'
                        description: priority of the parameter
                        examples:
                          - 1
                      values:
                        type: array
                        description: Possible parameter values
                        items:
                          $ref: '#/components/schemas/productVariantParameterValue'
                  errors:
                    $ref: '#/components/schemas/Errors'
                required:
                  - data
                  - errors
                additionalProperties: false
      summary: Update of variant parameter
      operationId: updateVariantParameter
      description: ''
      tags:
        - Products
      parameters:
        - name: paramIndex
          in: path
          description: ''
          required: true
          example: barva
          schema:
            type: string
        - $ref: '#/components/parameters/DefaultContentType'
      requestBody:
        content:
          application/vnd.shoptet.v1.0+json:
            schema:
              type: object
              additionalProperties: false
              required:
                - data
              properties:
                data:
                  type: object
                  additionalProperties: false
                  minProperties: 1
                  properties:
                    paramName:
                      type: string
                      minLength: 1
                      maxLength: 255
                      description: >-
                        Name of parameter value. Maximal length of 255
                        characters.
                      examples:
                        - Color
                    paramIndex:
                      type: string
                      minLength: 1
                      maxLength: 255
                      pattern: ^[a-zA-Z0-9\-]*$
                      description: >-
                        Url friendly name of parameter value. Maximal length of
                        255 characters. When changed, you must use the new
                        paramIndex in the next API calls.
                      examples:
                        - color
                    priority:
                      type: integer
                      minimum: 1
                      description: Parameter value priority.
                      examples:
                        - 1
    post:
      responses:
        '201':
          description: Created
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    additionalProperties: false
                    required:
                      - id
                      - paramName
                      - paramIndex
                      - priority
                    properties:
                      id:
                        type: integer
                        description: ID of the parameter
                        examples:
                          - 1
                      paramName:
                        type:
                          - string
                          - 'null'
                        description: name of the parameter
                        examples:
                          - Color
                      paramIndex:
                        type: string
                        description: index of the parameter (identifier)
                        examples:
                          - color
                      priority:
                        type:
                          - integer
                          - 'null'
                        description: priority of the parameter
                        examples:
                          - 1
                      values:
                        type: array
                        description: Possible parameter values
                        items:
                          $ref: '#/components/schemas/productVariantParameterValue'
                  errors:
                    $ref: '#/components/schemas/Errors'
                required:
                  - data
                  - errors
                additionalProperties: false
      summary: Creation of variant parameter value
      operationId: createVariantParameterValue
      description: ''
      tags:
        - Products
      parameters:
        - name: paramIndex
          in: path
          description: ''
          required: true
          example: barevne-spektrum
          schema:
            type: string
        - $ref: '#/components/parameters/DefaultContentType'
      requestBody:
        content:
          application/vnd.shoptet.v1.0+json:
            schema:
              type: object
              additionalProperties: false
              required:
                - data
              properties:
                data:
                  type: object
                  additionalProperties: false
                  required:
                    - paramValues
                  properties:
                    paramValues:
                      minItems: 1
                      $ref: '#/components/schemas/productVariantParameterValues'
    delete:
      responses:
        '200':
          description: OK
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    type: 'null'
                    additionalProperties: false
                  errors:
                    $ref: '#/components/schemas/Errors'
                required:
                  - data
                  - errors
                additionalProperties: false
      summary: Removal of variant parameter
      operationId: deleteVariantParameter
      description: ''
      tags:
        - Products
      parameters:
        - name: paramIndex
          in: path
          description: ''
          required: true
          example: strih
          schema:
            type: string
        - $ref: '#/components/parameters/DefaultContentType'
  /api/products/variant-parameters/{paramIndex}/{rawValue}:
    delete:
      responses:
        '200':
          description: OK
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    type: 'null'
                    additionalProperties: false
                  errors:
                    $ref: '#/components/schemas/Errors'
                required:
                  - data
                  - errors
                additionalProperties: false
      summary: Removal of variant parameter value
      operationId: deleteVariantParameterValue
      description: ''
      tags:
        - Products
      parameters:
        - name: paramIndex
          in: path
          description: ''
          required: true
          example: strih
          schema:
            type: string
        - name: rawValue
          in: path
          description: ''
          required: true
          example: raminka
          schema:
            type: string
        - $ref: '#/components/parameters/DefaultContentType'
    patch:
      responses:
        '200':
          description: OK
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    additionalProperties: false
                    required:
                      - id
                      - paramName
                      - paramIndex
                      - priority
                    properties:
                      id:
                        type: integer
                        description: ID of the parameter
                        examples:
                          - 1
                      paramName:
                        type:
                          - string
                          - 'null'
                        description: name of the parameter
                        examples:
                          - Color
                      paramIndex:
                        type: string
                        description: index of the parameter (identifier)
                        examples:
                          - color
                      priority:
                        type:
                          - integer
                          - 'null'
                        description: priority of the parameter
                        examples:
                          - 1
                      values:
                        type: array
                        description: Possible parameter values
                        items:
                          $ref: '#/components/schemas/productVariantParameterValue'
                  errors:
                    $ref: '#/components/schemas/Errors'
                required:
                  - data
                  - errors
                additionalProperties: false
      summary: Update of variant parameter value
      operationId: updateVariantParameterValue
      description: ''
      tags:
        - Products
      parameters:
        - name: paramIndex
          in: path
          description: ''
          required: true
          example: barva
          schema:
            type: string
        - name: rawValue
          in: path
          description: ''
          required: true
          example: fialova
          schema:
            type: string
        - $ref: '#/components/parameters/DefaultContentType'
      requestBody:
        content:
          application/vnd.shoptet.v1.0+json:
            schema:
              type: object
              additionalProperties: false
              required:
                - data
              properties:
                data:
                  type: object
                  additionalProperties: false
                  minProperties: 1
                  properties:
                    paramValue:
                      type: string
                      minLength: 1
                      maxLength: 128
                      description: >-
                        Name of parameter value. Maximal length of 255
                        characters.
                      examples:
                        - Červená
                    rawValue:
                      type: string
                      minLength: 1
                      maxLength: 255
                      pattern: ^[a-zA-Z0-9\-]*$
                      description: >-
                        Url friendly name of parameter value. Maximal length of
                        255 characters. When changed, you must use the new
                        rawValue in the next API calls.
                      examples:
                        - cervena
                    color:
                      type:
                        - string
                        - 'null'
                      $ref: '#/components/schemas/typeColor'
                      description: >-
                        Color hex code. Minimal length of 1 character. Maximal
                        length of 8 characters.
                    image:
                      type:
                        - string
                        - 'null'
                      minLength: 1
                      maxLength: 255
                      description: Image name. Image needs to exist in your file folder.
                      examples:
                        - car-001.jpg
                    valuePriority:
                      type: integer
                      minimum: 1
                      description: Parameter value priority.
                      examples:
                        - 1
  /api/products/consumption-taxes:
    get:
      responses:
        '200':
          description: OK
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    additionalProperties: false
                    required:
                      - consumptionTaxes
                    properties:
                      consumptionTaxes:
                        type: array
                        items:
                          $ref: '#/components/schemas/consumptionTax'
                  errors:
                    $ref: '#/components/schemas/Errors'
                required:
                  - data
                  - errors
                additionalProperties: false
        '403':
          description: Forbidden
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    type:
                      - object
                      - 'null'
                  errors:
                    $ref: '#/components/schemas/Errors'
              example:
                data: null
                errors:
                  - errorCode: missing-module
                    message: Method requires active consumptionTax module in eshop.
                    instance: consumptionTax
      summary: List of product consumption taxes
      operationId: getListOfConsumptionTaxes
      description: >-
        Returns the list of consumption taxes within the e-shop.

        In order to list consuption taxes, you will need to have the Consumption
        tax module activated on the customer's e-shop.
      tags:
        - Products
      parameters:
        - $ref: '#/components/parameters/DefaultContentType'
    post:
      responses:
        '201':
          description: Created
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    $ref: '#/components/schemas/consumptionTax'
                  errors:
                    $ref: '#/components/schemas/Errors'
                required:
                  - data
                  - errors
                additionalProperties: false
        '409':
          description: Conflict
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              example:
                data: null
                errors:
                  - errorCode: consumption-tax-already-exists
                    message: >-
                      Consumption tax "ABC" with price "50.00" and currency
                      "EUR" already exists.
                    instance: payload
              schema:
                type: object
                properties:
                  data:
                    type: 'null'
                  errors:
                    $ref: '#/components/schemas/Errors'
        '422':
          description: Unprocessable Entity
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              example:
                data: null
                errors:
                  - errorCode: invalid-request-data
                    message: Currency "CZE" not found.
                    instance: currency
              schema:
                type: object
                properties:
                  data:
                    type: 'null'
                  errors:
                    $ref: '#/components/schemas/Errors'
      summary: Creation of consumption tax
      operationId: createConsumptionTax
      description: ''
      tags:
        - Products
      requestBody:
        content:
          application/vnd.shoptet.v1.0+json:
            schema:
              type: object
              required:
                - data
              properties:
                data:
                  type: object
                  additionalProperties: false
                  required:
                    - name
                    - price
                    - currency
                  properties:
                    name:
                      type: string
                      minLength: 1
                      description: Consumption tax name.
                      examples:
                        - ABC
                    price:
                      type: string
                      $ref: '#/components/schemas/typePrice'
                      description: Consumption tax amount.
                      examples:
                        - '50.00'
                    currency:
                      type: string
                      description: Consumption tax currency.
                      examples:
                        - EUR
                    isVisible:
                      type: boolean
                      description: >-
                        Flag, whether the consumption tax is visible in
                        documents or not. If not set, default value is `true`.
                      examples:
                        - false
      parameters:
        - $ref: '#/components/parameters/DefaultContentType'
  /api/products/consumption-taxes/{id}:
    patch:
      responses:
        '200':
          description: OK
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    $ref: '#/components/schemas/consumptionTax'
                  errors:
                    $ref: '#/components/schemas/Errors'
                required:
                  - data
                  - errors
                additionalProperties: false
        '404':
          description: Not Found
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              example:
                data: null
                errors:
                  - errorCode: consumption-tax-not-found
                    message: Consumption tax with ID "8" not found.
                    instance: '8'
              schema:
                type: object
                properties:
                  data:
                    type: 'null'
                  errors:
                    $ref: '#/components/schemas/Errors'
        '409':
          description: Conflict
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              example:
                data: null
                errors:
                  - errorCode: consumption-tax-already-exists
                    message: >-
                      Consumption tax "ABC" with price "50.00" and currency
                      "EUR" already exists.
                    instance: payload
              schema:
                type: object
                properties:
                  data:
                    type: 'null'
                  errors:
                    $ref: '#/components/schemas/Errors'
        '422':
          description: Unprocessable Entity
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              example:
                data: null
                errors:
                  - errorCode: invalid-request-data
                    message: Currency "CZE" not found.
                    instance: currency
              schema:
                type: object
                properties:
                  data:
                    type: 'null'
                  errors:
                    $ref: '#/components/schemas/Errors'
      summary: Update of consumption tax
      operationId: updateConsumptionTax
      description: ''
      tags:
        - Products
      parameters:
        - name: id
          in: path
          description: consumption tax identifier
          required: true
          example: 8
          schema:
            type: number
        - $ref: '#/components/parameters/DefaultContentType'
      requestBody:
        content:
          application/vnd.shoptet.v1.0+json:
            schema:
              type: object
              required:
                - data
              properties:
                data:
                  type: object
                  additionalProperties: false
                  minProperties: 1
                  properties:
                    name:
                      type: string
                      minLength: 1
                      description: Consumption tax name.
                      examples:
                        - ABC
                    price:
                      type: string
                      $ref: '#/components/schemas/typePrice'
                      description: Consumption tax amount.
                      examples:
                        - '50.00'
                    currency:
                      type: string
                      description: Consumption tax currency.
                      examples:
                        - EUR
                    isVisible:
                      type: boolean
                      description: >-
                        Flag, whether the consumption tax is visible in
                        documents or not.
                      examples:
                        - false
    delete:
      responses:
        '200':
          description: OK
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    type: 'null'
                    additionalProperties: false
                  errors:
                    $ref: '#/components/schemas/Errors'
                required:
                  - data
                  - errors
                additionalProperties: false
        '404':
          description: Not Found
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              example:
                data: null
                errors:
                  - errorCode: consumption-tax-not-found
                    message: Consumption tax with ID "8" not found.
                    instance: '8'
              schema:
                type: object
                properties:
                  data:
                    type: 'null'
                  errors:
                    $ref: '#/components/schemas/Errors'
      summary: Deletion of consumption tax
      operationId: deleteConsumptionTax
      description: ''
      tags:
        - Products
      parameters:
        - name: id
          in: path
          description: consumption tax identifier
          required: true
          example: 8
          schema:
            type: number
        - $ref: '#/components/parameters/DefaultContentType'
  /api/products/recycling-fee-categories:
    get:
      responses:
        '200':
          description: OK
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    additionalProperties: false
                    required:
                      - recyclingFeeCategories
                    properties:
                      recyclingFeeCategories:
                        type: array
                        items:
                          $ref: '#/components/schemas/recyclingFeeCategory'
                  errors:
                    $ref: '#/components/schemas/Errors'
                required:
                  - data
                  - errors
                additionalProperties: false
      summary: List of recycling fee categories
      operationId: getListOfRecyclingFeeCategories
      description: Returns the list of recycling fee categories within the e-shop.
      tags:
        - Products
      parameters:
        - $ref: '#/components/parameters/DefaultContentType'
  /api/products/warranties:
    get:
      responses:
        '200':
          description: OK
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    additionalProperties: false
                    required:
                      - warranties
                    properties:
                      warranties:
                        type: array
                        items:
                          type: object
                          additionalProperties: false
                          required:
                            - id
                            - inMonths
                            - description
                            - system
                          properties:
                            id:
                              type: integer
                              description: >-
                                Warranty id. Negative number indicates system
                                warranties. Positive numbers are defined by
                                customer.
                              examples:
                                - -1
                            inMonths:
                              type:
                                - integer
                                - 'null'
                              description: >-
                                Warranty length in months (can be `null`).
                                Negative number (`-1`) means infinite (lifetime)
                                warranty.
                              examples:
                                - 12
                            description:
                              type: string
                              description: Warranty description.
                              examples:
                                - One year warranty
                            system:
                              type: boolean
                              description: >-
                                true` - system warranties, `false` - custom
                                warranties.
                              examples:
                                - true
                  errors:
                    $ref: '#/components/schemas/Errors'
                required:
                  - data
                  - errors
                additionalProperties: false
      summary: List of product warranties
      operationId: getListOfProductWarranties
      description: Returns list of product warranties.
      tags:
        - Products
      parameters:
        - $ref: '#/components/parameters/DefaultContentType'
  /api/products/{guid}/alternativeProducts:
    get:
      responses:
        '200':
          description: OK
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    additionalProperties: false
                    required:
                      - items
                    properties:
                      items:
                        type: array
                        items:
                          $ref: '#/components/schemas/relatedProduct'
                  errors:
                    $ref: '#/components/schemas/Errors'
                required:
                  - data
                  - errors
                additionalProperties: false
      summary: List of product alternative products
      operationId: getListOfProductAlternativeProducts
      parameters:
        - name: guid
          in: path
          description: Product guid
          required: true
          example: 93bc0dbe-7481-11e8-8216-002590dad85e
          schema:
            type: string
        - name: visible
          in: query
          description: >-
            If set to `true`, only visible products are returned (those, which
            does not have `visibility: hidden`)
          example: true
          schema:
            type: boolean
        - $ref: '#/components/parameters/DefaultContentType'
      description: |-
        Returns list of alternative products related to product defined by
        `guid`, list is ordered by priority parameter.

        If `Pair reciprocally` option (`Settings > Product > Related and
        Alternative products`) is enabled, list of

        items will be enriched by items that has called product in own
        alternative table.
      tags:
        - Products
    post:
      responses:
        '200':
          description: OK
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    additionalProperties: false
                    required:
                      - items
                    properties:
                      items:
                        type: array
                        items:
                          $ref: '#/components/schemas/relatedProduct'
                  errors:
                    $ref: '#/components/schemas/Errors'
                required:
                  - data
                  - errors
                additionalProperties: false
      summary: Add alternative product
      operationId: addAlternativeProduct
      parameters:
        - name: guid
          in: path
          description: Product guid
          required: true
          example: 93bc0dbe-7481-11e8-8216-002590dad85e
          schema:
            type: string
        - $ref: '#/components/parameters/DefaultContentType'
      description: |-
        This method add given product, defined with `guid` at the end of the
        alternative product list. After product

        is successfully saved, complete list of alternative product is returned
        in response.
      tags:
        - Products
      requestBody:
        content:
          application/vnd.shoptet.v1.0+json:
            schema:
              type: object
              required:
                - data
              properties:
                data:
                  type: object
                  required:
                    - alternativeProduct
                  additionalProperties: false
                  properties:
                    alternativeProduct:
                      type: object
                      additionalProperties: false
                      required:
                        - guid
                      properties:
                        guid:
                          $ref: '#/components/schemas/typeGuidUnlimited'
                          description: GUID of new the alternative product
    put:
      responses:
        '200':
          description: OK
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    additionalProperties: false
                    required:
                      - items
                    properties:
                      items:
                        type: array
                        items:
                          $ref: '#/components/schemas/relatedProduct'
                  errors:
                    $ref: '#/components/schemas/Errors'
                required:
                  - data
                  - errors
                additionalProperties: false
      summary: Set alternative products
      operationId: setAlternativeProducts
      parameters:
        - name: guid
          in: path
          description: Product guid
          required: true
          example: 93bc0dbe-7481-11e8-8216-002590dad85e
          schema:
            type: string
        - $ref: '#/components/parameters/DefaultContentType'
      description: |-
        This method set given products (minimum 0, maximum 50), defined with
        `guid` to the alternative product list. After product

        is successfully saved, complete list of alternative product is returned
        in response.
      tags:
        - Products
      requestBody:
        content:
          application/vnd.shoptet.v1.0+json:
            schema:
              type: object
              required:
                - data
              properties:
                data:
                  type: object
                  required:
                    - alternativeProducts
                  additionalProperties: false
                  properties:
                    alternativeProducts:
                      type: array
                      description: >-
                        Array of new alternative products, minimum 0 item,
                        maximum 50 items on request
                      minItems: 0
                      maxItems: 50
                      items:
                        type: object
                        required:
                          - guid
                        additionalProperties: false
                        properties:
                          guid:
                            $ref: '#/components/schemas/typeGuidUnlimited'
  /api/products/{guid}/relatedProducts:
    get:
      responses:
        '200':
          description: OK
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    additionalProperties: false
                    required:
                      - items
                    properties:
                      items:
                        type: array
                        items:
                          $ref: '#/components/schemas/relatedProduct'
                  errors:
                    $ref: '#/components/schemas/Errors'
                required:
                  - data
                  - errors
                additionalProperties: false
      summary: List of product related products
      operationId: getListOfProductRelatedProducts
      parameters:
        - name: guid
          in: path
          description: Product guid
          required: true
          example: 93bc0dbe-7481-11e8-8216-002590dad85e
          schema:
            type: string
        - name: visible
          in: query
          description: >-
            If set to `true`, only visible products are returned (those, which
            does not have `visibility: hidden`)
          example: true
          schema:
            type: boolean
        - $ref: '#/components/parameters/DefaultContentType'
      description: |-
        Returns list of related products related to product defined by `guid`,
        list is ordered by priority parameter.

        If `Pair reciprocally` option (`Settings > Product > Related and
        Alternative products`) is enabled, list of

        items will be enriched by items that has called product in own related
        table.
      tags:
        - Products
    post:
      responses:
        '200':
          description: OK
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    additionalProperties: false
                    required:
                      - items
                    properties:
                      items:
                        type: array
                        items:
                          $ref: '#/components/schemas/relatedProduct'
                  errors:
                    $ref: '#/components/schemas/Errors'
                required:
                  - data
                  - errors
                additionalProperties: false
      summary: Add related product
      operationId: addRelatedProduct
      parameters:
        - name: guid
          in: path
          description: Product guid
          required: true
          example: 93bc0dbe-7481-11e8-8216-002590dad85e
          schema:
            type: string
        - $ref: '#/components/parameters/DefaultContentType'
      description: |-
        This method add given product, defined with `guid` at the end of the
        related product list. After product

        is successfully saved, complete list of related product is returned in
        response.
      tags:
        - Products
      requestBody:
        content:
          application/vnd.shoptet.v1.0+json:
            schema:
              type: object
              required:
                - data
              properties:
                data:
                  type: object
                  required:
                    - relatedProduct
                  additionalProperties: false
                  properties:
                    relatedProduct:
                      type: object
                      additionalProperties: false
                      required:
                        - guid
                      properties:
                        guid:
                          $ref: '#/components/schemas/typeGuidUnlimited'
                          description: Guid of new related product
    put:
      responses:
        '200':
          description: OK
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    additionalProperties: false
                    required:
                      - items
                    properties:
                      items:
                        type: array
                        items:
                          $ref: '#/components/schemas/relatedProduct'
                  errors:
                    $ref: '#/components/schemas/Errors'
                required:
                  - data
                  - errors
                additionalProperties: false
      summary: Set related products
      operationId: setRelatedProducts
      parameters:
        - name: guid
          in: path
          description: Product guid
          required: true
          example: 93bc0dbe-7481-11e8-8216-002590dad85e
          schema:
            type: string
        - $ref: '#/components/parameters/DefaultContentType'
      description: |-
        This method set given products (minimum 0, maximum 50), defined with
        `guid` to the related product list. After product

        is successfully saved, complete list of related product is returned in
        response.
      tags:
        - Products
      requestBody:
        content:
          application/vnd.shoptet.v1.0+json:
            schema:
              type: object
              required:
                - data
              properties:
                data:
                  type: object
                  required:
                    - relatedProducts
                  additionalProperties: false
                  properties:
                    relatedProducts:
                      type: array
                      minItems: 0
                      maxItems: 50
                      description: >-
                        Array of new related products, minimum 0 item, maximum
                        50 items on request
                      items:
                        type: object
                        additionalProperties: false
                        required:
                          - guid
                        properties:
                          guid:
                            $ref: '#/components/schemas/typeGuidUnlimited'
                            description: Guid of new related product
  /api/products/{guid}/set:
    post:
      responses:
        '200':
          description: OK
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    additionalProperties: false
                    required:
                      - items
                    properties:
                      items:
                        type:
                          - array
                          - 'null'
                        description: information about items, products, in set
                        items:
                          $ref: '#/components/schemas/productSet'
                  errors:
                    $ref: '#/components/schemas/Errors'
                required:
                  - data
                  - errors
                additionalProperties: false
        '422':
          description: Unprocessable Entity
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    type: 'null'
                  errors:
                    $ref: '#/components/schemas/Errors'
              example:
                data: null
                errors:
                  - errorCode: product-is-set-type
                    message: >-
                      Type of aggregate product is set. It is not possible to
                      add another set into it.
                    instance: payload
      summary: Add item to product-set
      operationId: addItemToProductSet
      parameters:
        - name: guid
          in: path
          description: Product guid - Must be `product-set` type.
          required: true
          example: 93bc0dbe-7481-11e8-8216-002590dad85e
          schema:
            type: string
      description: >-
        This method adding product defined by product variant `code` to the
        bundle (product set). Product defined in url by `guid`, must be set as
        `type` : `product-set`.

        When successfully saved, complete list of products in the set is
        returned in response.

        It is not allowed to add a product of the `product-set` type to an
        existing product set.
      tags:
        - Products
      requestBody:
        content:
          application/vnd.shoptet.v1.0+json:
            schema:
              type: object
              required:
                - data
              properties:
                data:
                  type: object
                  required:
                    - setItem
                  additionalProperties: false
                  properties:
                    setItem:
                      type: object
                      additionalProperties: false
                      required:
                        - code
                        - amount
                      properties:
                        code:
                          type: string
                          description: product variant identifier
                          examples:
                            - '0008'
                        amount:
                          type: string
                          $ref: '#/components/schemas/typePositiveAmount'
    put:
      responses:
        '200':
          description: OK
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    additionalProperties: false
                    required:
                      - items
                    properties:
                      items:
                        type:
                          - array
                          - 'null'
                        description: information about items, products, in set
                        items:
                          $ref: '#/components/schemas/productSet'
                  errors:
                    $ref: '#/components/schemas/Errors'
                required:
                  - data
                  - errors
                additionalProperties: false
      summary: Set product-set items
      operationId: setProductSetItems
      parameters:
        - name: guid
          in: path
          description: Product guid - Must be `product-set` type.
          required: true
          example: 93bc0dbe-7481-11e8-8216-002590dad85e
          schema:
            type: string
      description: >-
        This method set given products (minimum 0, maximum 50), defined by
        product variant `code` to the bundle of products (product-set).

        Product defined in url by `guid`, must be set as `type` : `product-set`.
        When successfully saved, complete list of products in the set is
        returned in response.

        It is not allowed to add a product of the `product-set` type to an
        existing product set.  
      tags:
        - Products
      requestBody:
        content:
          application/vnd.shoptet.v1.0+json:
            schema:
              type: object
              required:
                - data
              properties:
                data:
                  type: object
                  required:
                    - setItems
                  additionalProperties: false
                  properties:
                    setItems:
                      type: array
                      minItems: 0
                      maxItems: 50
                      description: >-
                        Array of new products assigned to set, minimum 0 item,
                        maximum 50 items on request
                      items:
                        type: object
                        additionalProperties: false
                        required:
                          - code
                          - amount
                        properties:
                          code:
                            type: string
                            description: product variant identifier
                            examples:
                              - '0008'
                          amount:
                            type: string
                            $ref: '#/components/schemas/typePositiveAmount'
  /api/products/units:
    get:
      responses:
        '200':
          description: OK
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    additionalProperties: false
                    required:
                      - units
                    properties:
                      units:
                        type: array
                        items:
                          type: object
                          additionalProperties: false
                          required:
                            - id
                            - name
                            - system
                          properties:
                            id:
                              type: integer
                              description: >-
                                Unit id. Negative number indicates system units.
                                Positive numbers are defined by customer.
                              examples:
                                - -1
                            name:
                              type: string
                              description: Unit name
                              examples:
                                - kg
                            system:
                              type: boolean
                              description: '`true` - system units, `false` - custom units.'
                              examples:
                                - true
                  errors:
                    $ref: '#/components/schemas/Errors'
                required:
                  - data
                  - errors
                additionalProperties: false
      summary: List of product units
      operationId: getListOfProductUnits
      description: ''
      tags:
        - Products
      parameters:
        - $ref: '#/components/parameters/DefaultContentType'
  /api/products/{guid}/gifts:
    get:
      responses:
        '200':
          description: OK
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    additionalProperties: false
                    required:
                      - items
                    properties:
                      items:
                        $ref: '#/components/schemas/productGifts'
                  errors:
                    $ref: '#/components/schemas/Errors'
                required:
                  - data
                  - errors
                additionalProperties: false
      summary: List of product gifts
      operationId: getListOfProductGifts
      parameters:
        - name: guid
          in: path
          description: Product guid
          required: true
          example: 93bc0dbe-7481-11e8-8216-002590dad85e
          schema:
            type: string
        - $ref: '#/components/parameters/DefaultContentType'
      description: Returns list of gifts related (product variants) to product.
      tags:
        - Products
    post:
      responses:
        '201':
          description: Created
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    additionalProperties: false
                    required:
                      - items
                    properties:
                      items:
                        $ref: '#/components/schemas/productGifts'
                  errors:
                    $ref: '#/components/schemas/Errors'
                required:
                  - data
                  - errors
                additionalProperties: false
      summary: Insertion gift product
      operationId: createProductGift
      parameters:
        - name: guid
          in: path
          description: Product guid
          required: true
          example: 93bc0dbe-7481-11e8-8216-002590dad85e
          schema:
            type: string
        - $ref: '#/components/parameters/DefaultContentType'
      description: ''
      tags:
        - Products
      requestBody:
        content:
          application/vnd.shoptet.v1.0+json:
            schema:
              type: object
              required:
                - data
              properties:
                data:
                  type: object
                  required:
                    - giftCode
                  additionalProperties: false
                  properties:
                    giftCode:
                      type: string
                      description: Code of product variant.
                      examples:
                        - '0006'
    put:
      responses:
        '200':
          description: OK
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    additionalProperties: false
                    required:
                      - items
                    properties:
                      items:
                        $ref: '#/components/schemas/productGifts'
                  errors:
                    $ref: '#/components/schemas/Errors'
                required:
                  - data
                  - errors
                additionalProperties: false
      summary: Setting gifts to product
      operationId: steGiftsToProduct
      parameters:
        - name: guid
          in: path
          description: Product guid
          required: true
          example: 93bc0dbe-7481-11e8-8216-002590dad85e
          schema:
            type: string
        - $ref: '#/components/parameters/DefaultContentType'
      description: ''
      tags:
        - Products
      requestBody:
        content:
          application/vnd.shoptet.v1.0+json:
            schema:
              type: object
              required:
                - data
              properties:
                data:
                  type: object
                  required:
                    - giftCodes
                  additionalProperties: false
                  properties:
                    giftCodes:
                      type: array
                      maxItems: 50
                      description: array of gift codes.
                      items:
                        type: object
                        required:
                          - code
                        additionalProperties: false
                        properties:
                          code:
                            type: string
                            description: Code of product variant.
                            examples:
                              - '0006'
  /api/products/reviews:
    get:
      responses:
        '200':
          description: OK
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    additionalProperties: false
                    required:
                      - reviews
                      - paginator
                    properties:
                      reviews:
                        type: array
                        items:
                          type: object
                          required:
                            - guid
                            - date
                            - orderCode
                            - rating
                            - productName
                            - productGuid
                            - description
                            - fullName
                            - email
                            - customerGuid
                            - authorized
                            - visible
                            - reaction
                            - updated
                          properties:
                            guid:
                              $ref: '#/components/schemas/typeGuid'
                            date:
                              $ref: '#/components/schemas/typeDateTime'
                              description: review creation date.
                            orderCode:
                              type:
                                - 'null'
                                - string
                              description: Order code related to review. Can be null.
                              examples:
                                - '2011000002'
                            rating:
                              type: number
                              description: >-
                                Number from 1 to 5 representing starts of
                                review's rating.
                              examples:
                                - 5
                            productName:
                              type: string
                              description: Product name related to review.
                              examples:
                                - Snack
                            productGuid:
                              type:
                                - 'null'
                                - string
                              $ref: '#/components/schemas/typeGuid'
                              description: Product guid related to review.
                            description:
                              type:
                                - 'null'
                                - string
                              examples:
                                - Snack was very good
                            fullName:
                              type:
                                - 'null'
                                - string
                              description: Fullname of review's author. Can be null.
                              examples:
                                - John Doe
                            email:
                              type:
                                - 'null'
                                - string
                              description: >-
                                Email of the review author. If it's a registered
                                customer and the review email is empty, it's
                                filled with the customer's main account email.
                                Can be null.
                              examples:
                                - johndoe@email.tld
                            customerGuid:
                              type:
                                - 'null'
                                - string
                              description: Customer guid related to review. Can be null.
                              examples:
                                - 443cad54-73bc-11e8-8216-002590dad85e
                            authorized:
                              type: boolean
                              examples:
                                - true
                            visible:
                              type: boolean
                              examples:
                                - false
                            reaction:
                              type: object
                              additionalProperties: false
                              required:
                                - reactionCreated
                                - reactionFullName
                                - reactionEmail
                                - reactionText
                              properties:
                                reactionCreated:
                                  type:
                                    - string
                                    - 'null'
                                  $ref: '#/components/schemas/typeDateTime'
                                  description: Date of creation of reaction. Can be null.
                                reactionFullName:
                                  type:
                                    - 'null'
                                    - string
                                  examples:
                                    - John Doe
                                reactionEmail:
                                  type:
                                    - 'null'
                                    - string
                                  examples:
                                    - johndoe@email.tld
                                reactionText:
                                  type:
                                    - 'null'
                                    - string
                                  examples:
                                    - Thank you for your review!
                            updated:
                              $ref: '#/components/schemas/typeDateTime'
                              description: Timestamp whenever the rating is changed
                      paginator:
                        $ref: '#/components/schemas/paginator'
                  errors:
                    $ref: '#/components/schemas/Errors'
                required:
                  - data
                  - errors
                additionalProperties: false
      summary: List of products reviews
      operationId: getListOfProductsReviews
      description: Returns list of product's reviews.
      tags:
        - Products
      parameters:
        - name: dateFrom
          in: query
          description: Filter reviews with creation date after date
          required: true
          example: 2019-09-05T00:00:00%2B0000
          schema:
            type: string
        - name: dateTo
          in: query
          description: Filter reviews with creation date before date
          required: true
          example: 2019-09-05T00:00:00%2B0000
          schema:
            type: string
        - name: changeTimeFrom
          in: query
          description: Filter reviews changed after this date (included)
          required: true
          example: 2019-09-05T00:00:00%2B0000
          schema:
            type: string
        - name: productGuid
          in: query
          description: Product identifier to filter reviews by.
          required: true
          example: 91670fd3-5b3d-11e7-819d-002590dc5efc
          schema:
            type: string
        - name: orderCode
          in: query
          description: Order identifier to filter reviews by.
          required: true
          example: '2011000002'
          schema:
            type: string
        - $ref: '#/components/parameters/DefaultContentType'
  /api/pricelists:
    get:
      responses:
        '200':
          description: OK
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    additionalProperties: false
                    required:
                      - pricelists
                    properties:
                      pricelists:
                        type: array
                        items:
                          $ref: '#/components/schemas/pricelist'
                  errors:
                    $ref: '#/components/schemas/Errors'
                required:
                  - data
                  - errors
                additionalProperties: false
      summary: List of price lists
      operationId: getListOfPriceLists
      description: |-
        Listing of all price lists set up in e-shop. Does not contain the
        paging, always lists all price lists.
      tags:
        - Price lists
      parameters:
        - $ref: '#/components/parameters/DefaultContentType'
    post:
      responses:
        '201':
          description: Created
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    properties:
                      data:
                        $ref: '#/components/schemas/pricelist'
                  errors:
                    $ref: '#/components/schemas/Errors'
                required:
                  - data
                  - errors
                additionalProperties: false
      summary: Pricelist insertion
      operationId: createPricelist
      description: ''
      tags:
        - Price lists
      requestBody:
        content:
          application/vnd.shoptet.v1.0+json:
            schema:
              type: object
              required:
                - data
              properties:
                data:
                  type: object
                  additionalProperties: false
                  required:
                    - name
                  properties:
                    name:
                      type: string
                      minLength: 1
                      maxLength: 128
                      description: Name of the pricelist
                      examples:
                        - Hlavní ceník
      parameters:
        - $ref: '#/components/parameters/DefaultContentType'
  /api/pricelists/{id}:
    get:
      responses:
        '200':
          description: OK
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    additionalProperties: false
                    required:
                      - pricelist
                    properties:
                      pricelist:
                        type: array
                        items:
                          type: object
                          additionalProperties: false
                          required:
                            - code
                            - currencyCode
                            - includingVat
                            - vatRate
                            - price
                            - orderableAmount
                            - sales
                          properties:
                            code:
                              type: string
                              examples:
                                - '0006'
                            currencyCode:
                              $ref: '#/components/schemas/typeCurrencyCode'
                              examples:
                                - CZK
                            includingVat:
                              type: boolean
                              examples:
                                - true
                            vatRate:
                              $ref: '#/components/schemas/typeVatRate'
                            price:
                              $ref: '#/components/schemas/variantPrice'
                            orderableAmount:
                              $ref: '#/components/schemas/productOrderableAmount'
                              description: orderable quantity.
                            sales:
                              $ref: '#/components/schemas/priceSales'
                              description: definition of discounts.
                      paginator:
                        $ref: '#/components/schemas/paginator'
                  errors:
                    $ref: '#/components/schemas/Errors'
                required:
                  - data
                  - errors
                additionalProperties: false
      summary: Pricelist detail
      operationId: getPricelistDetail
      description: >-
        Price list detail with product prices (variants) and info on discounts
        and limitations of purchase (minimum and maximum price)
      tags:
        - Price lists
      parameters:
        - name: id
          in: path
          description: Price list ID
          required: true
          example: 1
          schema:
            type: number
        - name: code
          in: query
          description: Product variant code
          example: 106/BIL
          schema:
            type: string
        - name: guid
          in: query
          description: Product GUID
          example: 94fe7ffc-7481-11e8-8216-002590dad85e
          schema:
            type: string
        - $ref: '#/components/parameters/DefaultContentType'
    patch:
      responses:
        '200':
          description: OK
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    type: 'null'
                  errors:
                    $ref: '#/components/schemas/Errors'
              example:
                data: null
                errors:
                  - errorCode: pricelist-code-not-found
                    message: Price list code '43/BILL' doesn't exist. Code skipped.
                    instance: 43/BILL
                  - errorCode: invalid-request-data
                    message: |-
                      Input data for code '43/BIL' doesn't correct. Code
                      skipped.
                    instance: 43/BIL
        '400':
          description: Bad Request
        '404':
          description: Not Found
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    type: 'null'
                  errors:
                    $ref: '#/components/schemas/Errors'
              example:
                data: null
                errors:
                  - errorCode: pricelist-not-found
                    message: Pricelist with id "11" not found.
                    instance: '11'
      summary: Update pricelist
      operationId: updatePricelist
      description: >-
        This endpoint allows updating price fields and other attributes from a

        pricelist of a product (variant).


        You can request multiple updates at once; the maximum is 100 updates per

        request.


        The request must contain a product variant code `code` and at least one

        of the `price`,
         `priceWithVat`, `priceWithoutVat`, `orderableAmount` or `sales` objects.

        Send only fields you want to change, the others will stay untouched. Be

        aware of the difference between



        - not providing a field: the field will not be changed



        - providing e. g. `data.price.buyPrice: null` will remove the price



        In case the request will be properly formatted, but an error occurs for

        one of the records, the correct records


        will be updated, the response will be `200 OK` and there will be records

        in the `errors` array for each failed


        record. If all records are incorrect, the response code will be `400 BAD

        REQUEST` instead.



        If you set `includingVat` or `vatRate` field, current data for product

        (or variant) will be recalculated. (even through untouched by your

        request)


        Object `price` directly sets price of product, without recalculating.


        Object `priceWithVat` sets price of product, respecting it is price

        **with** VAT and thus recalculating if needed.


        Object `priceWithoutVat` sets price of product, respecting it is price

        **without** VAT and thus recalculating if needed.



        Note, that you can change `buyPrice` only for default price list! For

        others price lists, value stays `null`.



        For non-vat payer e-shops, `vatRate` and `includingVat` fields are

        forbidden to use and fields `price`, `priceWithVat` and

        `priceWithoutVat`


        all works the same.


        In order to change the currency of the prices, you will need to have the
        Currencies module (Cizí měny) activated on the customer's e-shop.

        Note that if you change the currency code of the price list, all prices
        will not be recalculated to the new currency; only the currency code
        will be changed.
      tags:
        - Price lists
      parameters:
        - name: id
          in: path
          description: Pricelist id
          required: true
          example: '1'
          schema:
            type: string
        - $ref: '#/components/parameters/DefaultContentType'
      requestBody:
        content:
          application/vnd.shoptet.v1.0+json:
            schema:
              type: object
              required:
                - data
              properties:
                data:
                  type: array
                  items:
                    type: object
                    additionalProperties: false
                    required:
                      - code
                    minProperties: 2
                    properties:
                      code:
                        type: string
                        description: Product variant code
                        examples:
                          - 106/BIL
                      currencyCode:
                        type: string
                        description: >-
                          Currency code. List of available currencies within the
                          e-shop can be found in
                          [/api/eshop](#tag/eshop/geteshopinfo) endpoint.
                        examples:
                          - CZK
                      vatRate:
                        type:
                          - string
                          - 'null'
                        $ref: '#/components/schemas/typePrice'
                        description: VatRate for prices
                        examples:
                          - '21.00'
                      includingVat:
                        type: boolean
                        description: >-
                          Whether the product prices are saved with vat or
                          without.
                        examples:
                          - true
                      orderableAmount:
                        type: object
                        additionalProperties: false
                        description: Orderable quantity
                        properties:
                          minimumAmount:
                            type:
                              - string
                              - 'null'
                            $ref: '#/components/schemas/typePositiveAmount'
                            description: Minimum orderable quantity
                            examples:
                              - '1'
                          maximumAmount:
                            type:
                              - string
                              - 'null'
                            $ref: '#/components/schemas/typePositiveAmount'
                            description: Maximum orderable quantity
                            examples:
                              - '10'
                      sales:
                        type: object
                        additionalProperties: false
                        description: Definition of discounts
                        properties:
                          minPriceRatio:
                            $ref: '#/components/schemas/typePriceRatio'
                            description: >-
                              3 decimal places accuracy, (from `0.0000` to
                              `1.0000`), maximum permitted discount.
                            examples:
                              - '0.880'
                          freeShipping:
                            type: boolean
                            description: >-
                              flag, whether the product will have a free
                              transport after it is placed in the cart.
                            examples:
                              - true
                          freeBilling:
                            type: boolean
                            description: >-
                              flag, whether the product will have a free payment
                              after it is placed in the cart.
                            examples:
                              - true
                          loyaltyDiscount:
                            type: boolean
                            description: flag, whether the loyalty discount should be used.
                            examples:
                              - true
                          volumeDiscount:
                            type: boolean
                            description: flag, whether the volume discount should be used.
                            examples:
                              - true
                          quantityDiscount:
                            type: boolean
                            description: >-
                              flag, whether the volume/multibuy discount should
                              be used.
                            examples:
                              - true
                          discountCoupon:
                            type: boolean
                            description: flag, whether a discount coupon can be applied.
                            examples:
                              - true
                      price:
                        type: object
                        additionalProperties: false
                        description: Prices
                        properties:
                          price:
                            type:
                              - string
                              - 'null'
                            $ref: '#/components/schemas/typePrice'
                            description: >-
                              Price, at which the customer can purchase the
                              product. It can be loaded by the special
                              discounted price and influenced by the price
                              ratio. (can be `null`)
                            examples:
                              - '650.00'
                          commonPrice:
                            type:
                              - string
                              - 'null'
                            $ref: '#/components/schemas/typePrice'
                            description: >-
                              standard price, use for information and comparison
                              to competitors (can be `null`)
                            examples:
                              - '750.00'
                          buyPrice:
                            type:
                              - string
                              - 'null'
                            $ref: '#/components/schemas/typePrice'
                            description: purchase price.
                            examples:
                              - '500.00'
                          priceRatio:
                            $ref: '#/components/schemas/typePriceRatio'
                            description: >-
                              price ratio. The price of the product shall be
                              calculated by multiplying the price and this
                              coefficient. The price ratio affects only the
                              price (`price`), the special discounted price
                              (`actionPrice`) is not affected by the ratio. This
                              ratio has 3 decimal places and can be greater than
                              1,000
                            examples:
                              - '1.000'
                          actionPrice:
                            type:
                              - object
                              - 'null'
                            additionalProperties: false
                            description: Special discounted price
                            properties:
                              price:
                                type:
                                  - string
                                  - 'null'
                                $ref: '#/components/schemas/typePrice'
                                description: >-
                                  special discounted price. It is only used if
                                  set and if the validity date is set too, form
                                  (`fromDate`) to (`toData`).
                                examples:
                                  - '600.00'
                              fromDate:
                                type:
                                  - string
                                  - 'null'
                                $ref: '#/components/schemas/typeDate'
                                description: special discounted price effective date - from
                                examples:
                                  - '2018-02-19'
                              toDate:
                                type:
                                  - string
                                  - 'null'
                                $ref: '#/components/schemas/typeDate'
                                description: >-
                                  special discounted price effective date - up
                                  to
                                examples:
                                  - '2018-02-25'
                      priceWithVat:
                        type: object
                        additionalProperties: false
                        description: Prices with VAT
                        properties:
                          price:
                            type:
                              - string
                              - 'null'
                            $ref: '#/components/schemas/typePrice'
                            description: >-
                              Price, at which the customer can purchase the
                              product. It can be loaded by the special
                              discounted price and influenced by the price
                              ratio. (can be `null`)
                            examples:
                              - '650.00'
                          commonPrice:
                            type:
                              - string
                              - 'null'
                            $ref: '#/components/schemas/typePrice'
                            description: >-
                              standard price, use for information and comparison
                              to competitors (can be `null`)
                            examples:
                              - '750.00'
                          buyPrice:
                            type:
                              - string
                              - 'null'
                            $ref: '#/components/schemas/typePrice'
                            description: purchase price.
                            examples:
                              - '500.00'
                          priceRatio:
                            $ref: '#/components/schemas/typePriceRatio'
                            description: >-
                              price ratio. The price of the product shall be
                              calculated by multiplying the price and this
                              coefficient. The price ratio affects only the
                              price (`price`), the special discounted price
                              (`actionPrice`) is not affected by the ratio. This
                              ratio has 3 decimal places and can be greater than
                              1,000
                            examples:
                              - '1.000'
                          actionPrice:
                            type:
                              - object
                              - 'null'
                            additionalProperties: false
                            description: Special discounted price
                            properties:
                              price:
                                type:
                                  - string
                                  - 'null'
                                $ref: '#/components/schemas/typePrice'
                                description: >-
                                  special discounted price. It is only used if
                                  set and if the validity date is set too, form
                                  (`fromDate`) to (`toData`).
                                examples:
                                  - '600.00'
                              fromDate:
                                type:
                                  - string
                                  - 'null'
                                $ref: '#/components/schemas/typeDate'
                                description: special discounted price effective date - from
                                examples:
                                  - '2018-02-19'
                              toDate:
                                type:
                                  - string
                                  - 'null'
                                $ref: '#/components/schemas/typeDate'
                                description: >-
                                  special discounted price effective date - up
                                  to
                                examples:
                                  - '2018-02-25'
                      priceWithoutVat:
                        type: object
                        additionalProperties: false
                        description: Prices without VAT
                        properties:
                          price:
                            type:
                              - string
                              - 'null'
                            $ref: '#/components/schemas/typePrice'
                            description: >-
                              Price, at which the customer can purchase the
                              product. It can be loaded by the special
                              discounted price and influenced by the price
                              ratio. (can be `null`)
                            examples:
                              - '650.00'
                          commonPrice:
                            type:
                              - string
                              - 'null'
                            $ref: '#/components/schemas/typePrice'
                            description: >-
                              standard price, use for information and comparison
                              to competitors (can be `null`)
                            examples:
                              - '750.00'
                          buyPrice:
                            type:
                              - string
                              - 'null'
                            $ref: '#/components/schemas/typePrice'
                            description: purchase price.
                            examples:
                              - '500.00'
                          priceRatio:
                            $ref: '#/components/schemas/typePriceRatio'
                            description: >-
                              price ratio. The price of the product shall be
                              calculated by multiplying the price and this
                              coefficient. The price ratio affects only the
                              price (`price`), the special discounted price
                              (`actionPrice`) is not affected by the ratio. This
                              ratio has 3 decimal places and can be greater than
                              1,000
                            examples:
                              - '1.000'
                          actionPrice:
                            type:
                              - object
                              - 'null'
                            additionalProperties: false
                            description: Special discounted price
                            properties:
                              price:
                                type:
                                  - string
                                  - 'null'
                                $ref: '#/components/schemas/typePrice'
                                description: >-
                                  special discounted price. It is only used if
                                  set and if the validity date is set too, form
                                  (`fromDate`) to (`toData`).
                                examples:
                                  - '600.00'
                              fromDate:
                                type:
                                  - string
                                  - 'null'
                                $ref: '#/components/schemas/typeDate'
                                description: special discounted price effective date - from
                                examples:
                                  - '2018-02-19'
                              toDate:
                                type:
                                  - string
                                  - 'null'
                                $ref: '#/components/schemas/typeDate'
                                description: >-
                                  special discounted price effective date - up
                                  to
                                examples:
                                  - '2018-02-25'
    delete:
      responses:
        '200':
          description: OK
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    type: 'null'
                  errors:
                    $ref: '#/components/schemas/Errors'
                required:
                  - data
                  - errors
                additionalProperties: false
        '422':
          description: Unprocessable Entity
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    type: 'null'
                  errors:
                    $ref: '#/components/schemas/Errors'
              example:
                data: null
                errors:
                  - errorCode: invalid-request-data
                    message: It is not possible to delete default pricelist.
                    instance: integration-call
        '423':
          description: Locked
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    type: 'null'
                  errors:
                    $ref: '#/components/schemas/Errors'
              example:
                data: null
                errors:
                  - errorCode: pricelist-blocked
                    message: |-
                      Product import is running now. Removing pricelists has
                      been temporarily prohibited.
                    instance: integration-call
      summary: Pricelist delete
      operationId: deletePricelist
      description: |-
        Deletion of pricelist can fail with error `423` in case of running
        import.
      tags:
        - Price lists
      parameters:
        - name: id
          in: path
          description: pricelist ID (number)
          required: true
          example: '1'
          schema:
            type: string
        - $ref: '#/components/parameters/DefaultContentType'
  /api/pricelists/{id}/snapshot:
    get:
      responses:
        '202':
          description: Accepted
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    additionalProperties: false
                    required:
                      - jobId
                    properties:
                      jobId:
                        examples:
                          - ad24xod
                        description: token of job
                        type: string
                  errors:
                    $ref: '#/components/schemas/Errors'
      summary: List of all price list details
      operationId: getListOfAllPricelistDetails
      description: >-
        Using this endpoint, you can get list of all price list details with
        information on each price 

        (like in Price list Detail endpoint) asynchronously. See how 

        [Asynchronous
        requests](https://developers.shoptet.com/asynchronous-requests/) work on
        our developer’s portal.



        Response will be in [jsonlines](https://jsonlines.org/) format with each
        product taking one line of output file.

        One price list in response has the same format as price list detail
        response.



        Result file is compressed using GZIP.
      tags:
        - Price lists
      parameters:
        - name: id
          in: path
          description: Price list ID
          required: true
          example: '1'
          schema:
            type: number
        - name: codeFrom
          in: query
          description: Export price list items with code after given value
          example: '0000000006'
          schema:
            type: string
        - name: codeTo
          in: query
          description: Export price list items with code before given value
          example: '0000000006'
          schema:
            type: string
        - name: actionPriceDateFrom
          in: query
          description: Export price list items with active action price date after date
          example: '2019-09-05'
          schema:
            type: string
        - name: actionPriceDateTo
          in: query
          description: Export price list items with active action price before date
          example: '2019-09-05'
          schema:
            type: string
        - name: vatRate
          in: query
          description: Export price list items with given vat rate
          example: '21.0'
          schema:
            type: string
        - name: currencyCode
          in: query
          description: Export price list items with given currency code
          example: CZK
          schema:
            type: string
        - name: orderableMinAmount
          in: query
          description: Export price list items with orderable minimal amount
          example: '10'
          schema:
            type: number
        - name: orderableMinAmountFrom
          in: query
          description: |-
            Export price list items with orderable minimal amount amount after
            given value
          example: '10'
          schema:
            type: number
        - name: orderableMinAmountTo
          in: query
          description: |-
            Export price list items with orderable minimal amount before given
            value
          example: '100'
          schema:
            type: number
        - name: orderableMaxAmount
          in: query
          description: Export price list items with orderable maximal amount
          example: '20'
          schema:
            type: number
        - name: orderableMaxAmountFrom
          in: query
          description: |-
            Export price list items with orderable maximal amount after given
            value
          example: '20'
          schema:
            type: number
        - name: orderableMaxAmountTo
          in: query
          description: |-
            Export price list items with orderable maximal amount before given
            value
          example: '200'
          schema:
            type: number
        - $ref: '#/components/parameters/DefaultContentType'
  /api/orders:
    get:
      responses:
        '200':
          description: OK
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    additionalProperties: false
                    required:
                      - orders
                      - paginator
                    properties:
                      orders:
                        type: array
                        items:
                          type: object
                          additionalProperties: false
                          required:
                            - code
                            - guid
                            - creationTime
                            - changeTime
                            - fullName
                            - company
                            - email
                            - remark
                            - customerGuid
                            - cashDeskOrder
                            - adminUrl
                            - status
                            - shipping
                            - paymentMethod
                            - price
                            - paid
                          properties:
                            code:
                              type: string
                              description: >-
                                order number. Caution! This does not have to be
                                just a number, it can also contain letters, a
                                dash, etc.
                              examples:
                                - '2017000092'
                            guid:
                              type: string
                              description: >-
                                global unique permanent order identifier (can be
                                `null` for old orders)
                              examples:
                                - c5012051-d7ca-11e0-9a5c-feab5ed617ed
                            creationTime:
                              $ref: '#/components/schemas/typeDateTime'
                              description: >-
                                date and time, when the order was created. ISO
                                8601 format.
                            changeTime:
                              type:
                                - string
                                - 'null'
                              $ref: '#/components/schemas/typeDateTime'
                              description: >-
                                date and time of the order's last change. ISO
                                8601 format.
                            fullName:
                              type:
                                - string
                                - 'null'
                              description: customer full name (can be `null`)
                              examples:
                                - John Doe
                            company:
                              type:
                                - string
                                - 'null'
                              description: company name (can be `null`)
                              examples:
                                - Shoptet s.r.o.
                            email:
                              type:
                                - string
                                - 'null'
                              description: purchaser e-mail (can be `null`)
                              examples:
                                - customer@someemail.com
                            phone:
                              type:
                                - string
                                - 'null'
                              description: purchaser phone number (can be `null`)
                              examples:
                                - '+420604600444'
                            remark:
                              type:
                                - string
                                - 'null'
                              description: customer remark  (can be `null`).
                              examples:
                                - Please deliver the goods to the back door.
                            customerGuid:
                              type:
                                - string
                                - 'null'
                              $ref: '#/components/schemas/typeGuidUnlimited'
                              description: >-
                                customer identifier, if the customer is
                                registered in the e-shop (can be `null`)
                            cashDeskOrder:
                              type: boolean
                              description: >-
                                flag, whether the order is from the cash desk
                                (as opposed to the e-shop)
                              examples:
                                - true
                            adminUrl:
                              type: string
                              description: >-
                                URL to administration leading to order detail.
                                URL keeps the administration language settings.
                              examples:
                                - >-
                                  https://www.domena-eshopu.cz/admin/objednavky-detail?id=2
                            status:
                              type:
                                - object
                                - 'null'
                              additionalProperties: false
                              required:
                                - name
                                - id
                              properties:
                                name:
                                  type:
                                    - string
                                    - 'null'
                                  description: status name
                                  examples:
                                    - Processing
                                id:
                                  type: number
                                  description: status identifier
                                  examples:
                                    - -1
                            source:
                              type:
                                - object
                                - 'null'
                              additionalProperties: false
                              required:
                                - name
                                - id
                              properties:
                                name:
                                  type:
                                    - string
                                    - 'null'
                                  description: source name
                                  examples:
                                    - E-Shop
                                id:
                                  type: number
                                  description: source identifier
                                  examples:
                                    - -1
                            shipping:
                              type:
                                - object
                                - 'null'
                              $ref: '#/components/schemas/shipping'
                            paymentMethod:
                              type:
                                - object
                                - 'null'
                              $ref: '#/components/schemas/paymentMethod'
                            price:
                              $ref: '#/components/schemas/price'
                              description: price of the order
                            paid:
                              type:
                                - boolean
                                - 'null'
                              description: >-
                                flag, whether the order was paid. In addition to
                                `true` a `false`, can also be `null`, if the
                                payment status is unknown.
                              examples:
                                - true
                      paginator:
                        $ref: '#/components/schemas/paginator'
                  errors:
                    $ref: '#/components/schemas/Errors'
                required:
                  - data
                  - errors
                additionalProperties: false
      summary: List of orders
      operationId: getListOfOrders
      description: >-
        List of orders in e-shop and cash desks. Endpoint supports

        [pagination](#section/basic-principles-of-working-with-api/Paging). For
        default calls, it returns 20 orders,


        using the parameter `?itemsPerPage=100`, you can request up to 100

        orders at a time. Temporarily disabled, only 20 orders per page is

        supported. We apologize for the inconvenience.



        The list can be filtered according to status, transport, payment, date

        of creation, order number and customer number.



        The code (`code`) is the order identifier. Although this is usually a

        number, it is necessary to take into account that this might also

        include


        letters, dash, etc.
      tags:
        - Orders
      parameters:
        - name: statusId
          in: query
          description: Purchase order filtering, according to order status id.
          schema:
            type: string
        - name: shippingGuid
          in: query
          description: Purchase order filtering, according to forwarder GUID.
          schema:
            type: string
        - name: shippingCompanyCode
          in: query
          description: |-
            Purchase order filtering, according to forwarder [company
            code](#tag/shipping-methods/getlistofshippingmethods).
          schema:
            type: string
        - name: paymentMethodGuid
          in: query
          description: Purchase order filtering, according to payment method.
          schema:
            type: string
        - name: creationTimeFrom
          in: query
          description: |-
            Purchase order filtering, according to date of creation. ISO 8601
            format ("2017-12-12T22:08:01+0100").
          schema:
            type: string
        - name: creationTimeTo
          in: query
          description: |-
            Purchase order filtering, according to date of creation. ISO 8601
            format ("2017-12-12T22:08:01+0100").
          schema:
            type: string
        - name: codeFrom
          in: query
          description: Purchase order filtering, according to order code.
          schema:
            type: string
        - name: codeTo
          in: query
          description: Purchase order filtering, according to order code.
          schema:
            type: string
        - name: customerGuid
          in: query
          description: Purchase order filtering, according to customer number.
          schema:
            type: string
        - name: email
          in: query
          description: |-
            Purchase order filtering, according to customer e-mail. The accurate
            match is searched for, regardless of capitalization.
          schema:
            type: string
        - name: phone
          in: query
          description: |-
            Purchase order filtering, according to customer phone. International
            format only (+420123456789)
          schema:
            type: string
        - name: productCode
          in: query
          description: Order filter by product's code that is in order.
          schema:
            type: string
        - name: changeTimeFrom
          in: query
          description: |-
            Purchase order filtering, according to date of last update. ISO 8601
            format ("2017-12-12T22:08:01+0100").
          schema:
            type: string
        - name: changeTimeTo
          in: query
          description: |-
            Purchase order filtering, according to date of last update. ISO 8601
            format ("2017-12-12T22:08:01+0100").
          schema:
            type: string
        - name: sourceId
          in: query
          description: |-
            Order source filtering according to source id. For more information,
            see List of order sources endpoint.
          schema:
            type: string
        - $ref: '#/components/parameters/DefaultContentType'
    post:
      responses:
        '201':
          description: Created
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    additionalProperties: false
                    required:
                      - order
                    properties:
                      order:
                        type: object
                        additionalProperties: false
                        required:
                          - code
                          - guid
                          - externalCode
                          - creationTime
                          - changeTime
                          - email
                          - phone
                          - clientIPAddress
                          - customerGuid
                          - vatPayer
                          - cashDeskOrder
                          - stockId
                          - addressesEqual
                          - billingMethod
                          - paymentMethod
                          - shipping
                          - adminUrl
                          - status
                          - price
                          - paid
                          - billingAddress
                          - deliveryAddress
                          - items
                        properties:
                          code:
                            type: string
                            description: >-
                              order number. Caution! This does not have to be
                              just a number, it can also contain letters, a
                              dash, etc.
                            examples:
                              - '2017000092'
                          guid:
                            type: string
                            description: >-
                              global unique permanent order identifier (can be
                              `null` for old orders)
                            examples:
                              - c5012051-d7ca-11e0-9a5c-feab5ed617ed
                          externalCode:
                            type:
                              - string
                              - 'null'
                            description: >-
                              Identification of the order in external system (or
                              `null`).
                            examples:
                              - '1234'
                          creationTime:
                            $ref: '#/components/schemas/typeDateTime'
                            description: >-
                              date and time, when the order was created. ISO
                              8601 format.
                          changeTime:
                            type:
                              - string
                              - 'null'
                            $ref: '#/components/schemas/typeDateTime'
                            description: >-
                              date and time of the order's last change. ISO 8601
                              format.
                          email:
                            type:
                              - string
                              - 'null'
                            description: purchaser e-mail (can be `null`)
                            examples:
                              - customer@someemail.com
                          phone:
                            type:
                              - string
                              - 'null'
                            description: purchaser phone number (can be `null`)
                            examples:
                              - '+420604600444'
                          birthDate:
                            type:
                              - string
                              - 'null'
                            description: customer's date of birth stated in the order
                            examples:
                              - '1980-01-01'
                          clientIPAddress:
                            type:
                              - string
                              - 'null'
                            description: IP address of the client who made the order
                            examples:
                              - 213.46.237.24
                          customerGuid:
                            type:
                              - string
                              - 'null'
                            $ref: '#/components/schemas/typeGuidUnlimited'
                            description: >-
                              customer identifier, if the customer is registered
                              in the e-shop (can be `null`)
                          cashDeskOrder:
                            type: boolean
                            description: >-
                              flag, whether the order is from the cash desk (as
                              opposed to the e-shop)
                            examples:
                              - true
                          stockId:
                            type: number
                            description: >-
                              identifier of the stock, from which the order was
                              taken
                            examples:
                              - 1
                          addressesEqual:
                            type: boolean
                            description: >-
                              flag, whether the delivery address is the same as
                              the invoicing address
                            examples:
                              - true
                          vatPayer:
                            type: boolean
                            description: >-
                              Is the tradesman a VAT payer, when purchasing?
                              (can be `null`, if this is unknown)
                            examples:
                              - true
                          vatMode:
                            type:
                              - string
                              - 'null'
                            description: >-
                              VAT mode, for possible values see [VAT
                              modes](#section/code-lists/VAT-modes)
                            examples:
                              - Normal
                          billingMethod:
                            type:
                              - object
                              - 'null'
                            $ref: '#/components/schemas/billingMethod'
                          paymentMethod:
                            type:
                              - object
                              - 'null'
                            $ref: '#/components/schemas/paymentMethod'
                          shipping:
                            type:
                              - object
                              - 'null'
                            $ref: '#/components/schemas/shipping'
                          shippingDetails:
                            type:
                              - object
                              - 'null'
                            additionalProperties: false
                            required:
                              - branchId
                              - shippingCompanyCode
                              - name
                              - note
                              - place
                              - street
                              - city
                              - zipCode
                              - countryCode
                              - link
                              - latitude
                              - longitude
                              - carrierId
                            properties:
                              branchId:
                                type:
                                  - string
                                  - 'null'
                                description: branch identifier
                                examples:
                                  - '4'
                              shippingCompanyCode:
                                type:
                                  - string
                                  - 'null'
                                description: identification of the carrier
                                examples:
                                  - zasilkovna
                              shippingServiceCode:
                                type:
                                  - string
                                  - 'null'
                                description: identification of the carrier's service
                                examples:
                                  - zasilkovna-pickup
                              name:
                                type:
                                  - string
                                  - 'null'
                                description: name of the branch
                                examples:
                                  - Hradec Králové, Square of 5th May 888
                              note:
                                type:
                                  - string
                                  - 'null'
                                description: branch location note, can contain HTML
                                examples:
                                  - >-
                                    <p>Open: Mon-Fri 8:00-18:00, Sat
                                    8:00-12:00</p>
                              place:
                                type:
                                  - string
                                  - 'null'
                                description: location (specify location within address).
                                examples:
                                  - Creator
                              street:
                                type:
                                  - string
                                  - 'null'
                                description: street
                                examples:
                                  - Square of 5th May 888
                              city:
                                type:
                                  - string
                                  - 'null'
                                description: city/town
                                examples:
                                  - Hradec Králové
                              zipCode:
                                type:
                                  - string
                                  - 'null'
                                description: ZIP or postal code
                                examples:
                                  - '50002'
                              countryCode:
                                type:
                                  - string
                                  - 'null'
                                description: country code
                                examples:
                                  - CZ
                              link:
                                type:
                                  - string
                                  - 'null'
                                description: link to the branch's website
                                examples:
                                  - >-
                                    https://www.ulozenka.cz/pobocky/4/hradec-kralove-nam-5-kvetna-888
                              latitude:
                                type:
                                  - string
                                  - 'null'
                                description: GPS coordinates - north latitude
                                examples:
                                  - '50.213673'
                              longitude:
                                type:
                                  - string
                                  - 'null'
                                description: GPS coordinates - east longitude
                                examples:
                                  - '15.832775'
                              carrierId:
                                type:
                                  - integer
                                  - 'null'
                                description: >-
                                  identification of the carrier - now it's used
                                  for Zasilkovna only. The value is `null` for
                                  Czech Zasilkovna or carrier ID for Zasilkovna
                                  in the other countries.
                                examples:
                                  - 3060
                          adminUrl:
                            type: string
                            description: >-
                              URL to administration leading to order detail. URL
                              keeps the administration language settings.
                            examples:
                              - >-
                                https://www.domena-eshopu.cz/admin/objednavky-detail?id=2
                          status:
                            type:
                              - object
                              - 'null'
                            additionalProperties: false
                            required:
                              - name
                              - id
                            properties:
                              name:
                                type:
                                  - string
                                  - 'null'
                                description: status name
                                examples:
                                  - Processing
                              id:
                                type: number
                                description: status identifier
                                examples:
                                  - -1
                          source:
                            type:
                              - object
                              - 'null'
                            additionalProperties: false
                            required:
                              - name
                              - id
                            description: source of the order
                            properties:
                              name:
                                type:
                                  - string
                                  - 'null'
                                description: source name
                                examples:
                                  - E-Shop
                              id:
                                type: number
                                description: source identifier
                                examples:
                                  - -1
                          price:
                            $ref: '#/components/schemas/price'
                            description: price of the order
                          paid:
                            type:
                              - boolean
                              - 'null'
                            description: >-
                              flag, whether the order was paid. In addition to
                              `true` a `false`, can also be `null`, if the
                              payment status is unknown.
                            examples:
                              - true
                          billingAddress:
                            $ref: '#/components/schemas/billingAddress'
                          deliveryAddress:
                            oneOf:
                              - $ref: '#/components/schemas/address'
                              - type: 'null'
                          onlinePaymentLink:
                            type:
                              - string
                              - 'null'
                            description: URL to online payment
                            examples:
                              - >-
                                https://www.domena-eshopu.cz/api/pay/payu/redir?paymentCode=xyz123
                          language:
                            type: string
                            description: language code of the order
                            examples:
                              - cs
                          referer:
                            type:
                              - string
                              - 'null'
                            description: which page (url) has the user come from
                            examples:
                              - https://www.google.cz/
                          paymentMethods:
                            type: array
                            description: all order payment methods
                            items:
                              type: object
                              additionalProperties: false
                              required:
                                - paymentMethod
                                - itemId
                              properties:
                                paymentMethod:
                                  $ref: '#/components/schemas/paymentMethod'
                                itemId:
                                  type: number
                                  description: payment method identifier within order
                                  examples:
                                    - 564
                          shippings:
                            type: array
                            description: all order shippings
                            items:
                              type: object
                              additionalProperties: false
                              required:
                                - shipping
                                - itemId
                              properties:
                                shipping:
                                  type: object
                                  additionalProperties: false
                                  required:
                                    - guid
                                    - name
                                  description: transport method
                                  properties:
                                    guid:
                                      type:
                                        - string
                                        - 'null'
                                      $ref: '#/components/schemas/typeGuid'
                                      description: transport method identifier
                                    name:
                                      type: string
                                      description: description of transport method
                                      examples:
                                        - PPL
                                itemId:
                                  type: number
                                  description: transport method identifier within order
                                  examples:
                                    - 897
                          items:
                            type: array
                            description: all order items
                            items:
                              $ref: '#/components/schemas/orderItem'
                          notes:
                            type: object
                            additionalProperties: false
                            description: >-
                              order notes (only filled in on request if
                              `include=notes` is listed)
                            required:
                              - customerRemark
                              - eshopRemark
                              - trackingNumber
                              - trackingUrl
                              - additionalFields
                            properties:
                              customerRemark:
                                type:
                                  - string
                                  - 'null'
                                description: customer note
                                examples:
                                  - Better in green
                              eshopRemark:
                                type:
                                  - string
                                  - 'null'
                                description: e-shop order remark.
                                examples:
                                  - Gift wrapping
                              trackingNumber:
                                type:
                                  - string
                                  - 'null'
                                description: shipment number
                                examples:
                                  - DR123456
                              trackingUrl:
                                type:
                                  - string
                                  - 'null'
                                description: package trace link (can be `null`)
                                examples:
                                  - >-
                                    http://www.ppl.cz/main2.aspx?cls=Package&idSearch=DR123456
                              additionalFields:
                                type: array
                                description: >-
                                  can contain up to six additional fields, which
                                  can be freely used by e-shop for its
                                  individual needs.
                                items:
                                  type: object
                                  additionalProperties: false
                                  required:
                                    - index
                                    - label
                                    - text
                                  properties:
                                    index:
                                      type: integer
                                      description: sequence number
                                      examples:
                                        - 1
                                    label:
                                      type: string
                                      description: >-
                                        item name. The name of the field can be
                                        edited in the e-shop administration.
                                      examples:
                                        - 1st field
                                    text:
                                      type:
                                        - string
                                        - 'null'
                                      description: item value (can be `null`)
                                      examples:
                                        - forwarder ID
                  errors:
                    $ref: '#/components/schemas/Errors'
                required:
                  - data
                  - errors
                additionalProperties: false
        '403':
          description: Consumption tax module is not enabled
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    type: 'null'
                  errors:
                    $ref: '#/components/schemas/Errors'
              example:
                data: null
                errors:
                  - errorCode: missing-module
                    message: >-
                      It requires active consumptionTax module in eshop when
                      "consumptionTax" is present in order items data.
                    instance: consumptionTax
        '422':
          description: Consumption tax id not exists / not visible
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    type: 'null'
                  errors:
                    $ref: '#/components/schemas/Errors'
              example:
                data: null
                errors:
                  - errorCode: invalid-request-data
                    message: Consumption tax with id "4" not found.
                    instance: payload
                  - errorCode: invalid-request-data
                    message: Consumption tax with id "2" is not visible.
                    instance: payload
      summary: Order insertion
      operationId: createOrder
      description: >-
        This endpoint enables insert the order into Shoptet, which was created

        in other system. You can use it for an import


        from an older e-shop solution, or to transfer orders from external sales

        channels.


        A large amount of info can be set, but for regular usage only a few

        attributes are needed. Values of other


        attributes are added as per their default values. The detailed

        information can be found in the right pane, after


        clicking on title "Order insertion" above (search for "Request" and

        "Attributes” sections).



        Request is sent in JSON format in its body. Simple example (detailed

        example can be found in call example in right pane):



        ```


        {
            "data": {
                "email": "foo@bar.cz",
                "externalCode": "123",
                "paymentMethodGuid": "6f2c8e36-3faf-11e2-a723-705ab6a2ba75",
                "shippingGuid": "8921cdc1-051b-11e5-a8d3-ac162d8a2454",
                "billingAddress": {
                    "fullName": "Jan Novák",
                    "street": "Rovná",
                    "city": "Rovina",
                    "zip": "12300"
                },
                "currency": {
                    "code": "CZK"
                },
                "items": [
                    {
                        "itemType": "product",
                        "code": "32/ZEL",
                        "vatRate": "21.00",
                        "itemPriceWithVat": "121.00"
                    },
                    {
                        "itemType": "billing",
                        "name": "Platba převodem",
                        "vatRate": "21.00",
                        "itemPriceWithVat": "0"
                    },
                    {
                        "itemType": "shipping",
                        "name": "PPL",
                        "vatRate": "21.00",
                        "itemPriceWithVat": "59.00"
                    }
                ]
            }
        }


        ```



        Whether the field is mandatory, apart from the basic definition, also

        depends on whether the order was created via the cash desk


        (`cashDeskOrder: true`) or via e-shop. Some fields from invoicing,

        delivery and contact data


        are mandatory or optional, as per e-shop settings (see also e-shop

        administration `Settings > Customers > Mandatory fields`).



        When the order is created, it is checked, whether the e-shop includes

        products with the respective code (can be suppressed with


        GET parameter `suppressProductChecking=true`),


        the products from the order are deducted from the stock (can be

        suppressed with the GET parameter `suppressStockMovements=true`),
         documentation is created for the order (can be suppressed with the GET parameter `suppressDocumentGeneration=true`),
        a confirmation e-mail is sent (can be suppressed with the GET parameter

        `suppressEmailSending=true`) and a webhook is executed for the new

        order.


        **Parameters `suppressProductChecking=true` and

        `suppressStockMovements=true` are to be used only for orders that will

        not be changed or deleted in the future.


        Editing or deleting such an order can damage the consistency of

        warehousing.**



        Parameter `suppressHistoricalMandatoryFields=true` can be used to

        disable mandatory fields checks, but only for "historical"


        orders (`creationTime` is older than 24 hours). Keep in mind even

        historical orders should be kept consistent and complete


        as much as possible to allow their processing for statistics, volume

        calculations etc.



        Setting the mandatory items for invoicing and the delivery address can

        be different between individual e-shops. The mandatory items corresponds

        to the settings


        for ordering from the basket.



        Parameters `suppressHistoricalPaymentChecking` and

        `suppressHistoricalShippingChecking` allow corresponding field

        (`paymentMethodGuid` and/or `shippingGuid`)


        to be `null`. In that case, if an billing/shipping item is provided in

        `items` list, `name` field must be filled in that item.



        To remove products from the stock, the shop (or product) setting as to

        whether the inventory can be negative or not is respected.


        If a negative value is not permitted for shopping and the order cannot

        be covered from the current inventory, the order is not created and the

        API


        returns an error message in the `errors` field.



        The order's minimum size or maximum number of items as per the settings

        of e-shop are not checked.



        The endpoint only checks the same parameters as the order detail.



        The order can be inserted while using currencies setup in the eshop (see

        `/api/eshop`). The exchange rate related to the


        eshop default currency is optional. If not provided, the current eshop

        exchange rate will be used.


        For historical orders the exchange rate should be provided using the

        historical value of the order's creation date.


        Shoptet eshops do not store historical exchange rates.


        Warning: for SK and CZ different exchange rate format is used. You

        should use the same form as you get from the endpoint


        `/api/eshop`. We will internally convert it to the correct format to be

        compatible with eshop statistics calculations.


        Because of the conversion, the value of `exchangeRate` in the response

        will be different (inverse) to the one you had sent.



        When entering the order, the initial welcome e-mail is always sent. Even

        though the order status is set differently to the initial value,


        the e-mail associated with a status change is not sent, but the system

        welcome e-mail is (to e-shop operator and customer).



        When creating the receipt (invoice, proforma invoice, delivery note) the

        receipt is created with the current date and the 14 days due date, even

        though


        `creationTime` is given from the past.



        Examples of how to work with the order and items statuses, and how to

        ensure the correct insertion of a discount, can be found in a


        separate [article at

        developers.shoptet.com](https://developers.shoptet.com/api/documentation/creating-order/)



        After the order is successfully created, you will receive a response

        with a 201 code and a response structure matching the order detail,


        which is returned by `/api/orders/<code>` endpoint.



        **Please note following rules**



        - `code` .. maxLength 10 characters



        - `email` .. maxLength 100 characters



        - `phone` .. maxLength 32 characters



        - `externalCode` .. maxLength 255 characters



        - `billingAddress.company` .. maxLength 100 characters



        - `billingAddress.fullName` .. maxLength 100 characters



        - `billingAddress.street` .. maxLength 100 characters



        - `billingAddress.houseNumber` .. maxLength 16 characters



        - `billingAddress.city` .. maxLength 100 characters



        - `billingAddress.district` .. maxLength 64 characters



        - `billingAddress.additional` .. maxLength 64 characters



        - `billingAddress.zip` .. maxLength 100 characters



        - `billingAddress.regionName` .. maxLength 128 characters



        - `billingAddress.regionShortcut` .. maxLength 16 characters



        - `billingAddress.companyId` .. maxLength 18 characters



        - `billingAddress.vatId` .. maxLength 16 characters



        - `billingAddress.taxId` .. maxLength 16 characters



        - `deliveryAddress.company` .. maxLength 255 characters



        - `deliveryAddress.fullName` .. maxLength 64 characters



        - `deliveryAddress.street` .. maxLength 100 characters



        - `deliveryAddress.houseNumber` .. maxLength 16 characters



        - `deliveryAddress.city` .. maxLength 100 characters



        - `deliveryAddress.district` .. maxLength 64 characters



        - `deliveryAddress.additional` .. maxLength 64 characters



        - `deliveryAddress.zip` .. maxLength 100 characters



        - `deliveryAddress.regionName` .. maxLength 128 characters



        - `deliveryAddress.regionShortcut` .. maxLength 16 characters



        - `notes.trackingNumber` .. maxLength 32 characters



        - `items.name` .. maxLength 250 characters



        - `items.variantName` .. maxLength 128 characters



        - `items.brand` .. maxLength 64 characters



        - `items.supplierName` .. maxLength 255 characters



        - `items.code` .. maxLength 64 characters



        - `items.additionalField` .. maxLength 255 characters



        - `items.amountUnit` .. maxLength 16 characters
      tags:
        - Orders
      parameters:
        - name: suppressDocumentGeneration
          in: query
          description: suppress the generation of linked documents.
          example: 'true'
          schema:
            type: string
            default: 'false'
        - name: suppressEmailSending
          in: query
          description: suppress sending the linked information e-mails.
          example: 'true'
          schema:
            type: string
            default: 'false'
        - name: suppressProductChecking
          in: query
          description: suppress the product existence check as per `code` and GUID
          example: 'true'
          schema:
            type: string
            default: 'false'
        - name: suppressStockMovements
          in: query
          description: suppress deduction of the products from stock
          example: 'true'
          schema:
            type: string
            default: 'false'
        - name: suppressHistoricalMandatoryFields
          in: query
          description: set the flag that disables mandatory fields checking
          example: 'true'
          schema:
            type: string
            default: 'false'
        - name: suppressHistoricalPaymentChecking
          in: query
          description: set the flag that `paymentMethodGuid` can be `null`
          example: 'true'
          schema:
            type: string
            default: 'false'
        - name: suppressHistoricalShippingChecking
          in: query
          description: set the flag that `shippingGuid` can be `null`
          example: 'true'
          schema:
            type: string
            default: 'false'
        - $ref: '#/components/parameters/DefaultContentType'
      requestBody:
        content:
          application/vnd.shoptet.v1.0+json:
            schema:
              type: object
              required:
                - data
              properties:
                data:
                  type: object
                  additionalProperties: false
                  required:
                    - externalCode
                    - currency
                  properties:
                    creationTime:
                      type: string
                      description: >-
                        time of order creation. Optional, current time is the
                        default value.
                      examples:
                        - 2018-01-21T14:15:47+0100
                    code:
                      type: string
                      minLength: 1
                      maxLength: 10
                      description: >-
                        Unique identifier for an e-shop order. Caution! This
                        does not have to be just a number, it can also contain
                        letters, a dash, etc.
                      examples:
                        - 2024-123
                    language:
                      type: string
                      minLength: 1
                      description: >-
                        Language of order. Default: default eshop language.
                        (optional)
                      examples:
                        - cs
                    externalCode:
                      type: string
                      minLength: 1
                      maxLength: 255
                      description: >-
                        order identification within the external system
                        (mandatory, must be unique).
                      examples:
                        - X123
                    cashDeskOrder:
                      type: boolean
                      description: >-
                        flag, if the order was created via the cash desk.
                        Optional. `false` is the default value.
                    statusId:
                      type: number
                      description: >-
                        Order status. Optional. If not indicated, the default
                        status of the order is used, as per e-shop settings. If
                        the status definition sets the payment flag, the
                        parameter `paid` is set to `true`. if the request also
                        mentions `paid`, the `paid` variant has priority. If the
                        status definition has selected the setting of item
                        statuses, the status is also set for items. Otherwise,
                        the initial status is the set based on e-shop defaults.
                        If the item has status set explicitly (see below
                        `items[].statusId`), the value from the item shall be
                        used.
                      examples:
                        - -1
                    sourceId:
                      type:
                        - number
                        - 'null'
                      examples:
                        - -1
                      description: >-
                        Order source id. Optional. If not indicated, no source
                        will be used (null). If `sourceId` is positive,
                        `cashDeskOnly` must also be set to `true`, otherwise if
                        `sourceId` is negative, `cashDeskOnly` must be set to
                        `false`, otherwise error will be returned. Current
                        possible values of `sourceId` can be determined by
                        calling the list of order sources endpoint.
                    email:
                      type: string
                      minLength: 1
                      maxLength: 100
                      description: >-
                        customer e-mail (can be omitted only when ordering via
                        cash desk).
                      examples:
                        - foo@bar.cz
                    phone:
                      type:
                        - string
                        - 'null'
                      minLength: 1
                      maxLength: 32
                      description: >-
                        phone number of the customer. Optional, if not set as
                        mandatory item in shop settings.
                      examples:
                        - '+420123456789'
                    birthDate:
                      type:
                        - string
                        - 'null'
                      description: >-
                        customer birth date (optional, if not made mandatory by
                        the e-shop settings).
                      examples:
                        - '1990-01-01'
                    vatPayer:
                      type: boolean
                      examples:
                        - true
                      description: >-
                        Flag, whether the invoice was issued in VAT payer mode,
                        or VAT non-payer mode. Optional, if not indicated, it is
                        used as per current settings of the e-shop (only makes
                        sense for historical orders, if e-shop changed its
                        status form VAT payer to different or vice versa)
                    paymentMethodGuid:
                      type:
                        - string
                        - 'null'
                      $ref: '#/components/schemas/typeGuid'
                      minLength: 1
                      description: >-
                        Payment method. Optional, for an order via cash desk or
                        eshop order. Does not automatically generate payment
                        item in the list of items, and does not check the
                        consistency with payment item. Billing item type is
                        mandatory if paymentMethodGuid is filled.
                      examples:
                        - b57f91bb-e920-11e0-baa3-7dc668b75ca8
                    shippingGuid:
                      type:
                        - string
                        - 'null'
                      $ref: '#/components/schemas/typeGuid'
                      minLength: 1
                      description: >-
                        Transport method. Optional, for an order via cash desk
                        or eshop order. Does not automatically generate
                        transport item in the list of items, and does not check
                        the consistency with the transport item. Shipping item
                        type is mandatory if shippingGuid is filled.
                      examples:
                        - b57f91bb-e920-11e0-baa3-7dc668b75ca8
                    shippingDetails:
                      description: >-
                        additional information for transport, if any. typically
                        ID of Zásilkovna branches, postal offices, etc.
                        (optional)
                      oneOf:
                        - type: 'null'
                        - type: object
                          additionalProperties: false
                          required:
                            - branchId
                          properties:
                            branchId:
                              type: string
                              description: >-
                                branch ID, if delivered to Uloženka branch, DPD,
                                etc.
                              examples:
                                - '45'
                            branchName:
                              type: string
                              description: >-
                                branch name, if delivered to Uloženka branch,
                                DPD, etc.
                              examples:
                                - Test branch
                            carrierId:
                              type: number
                              description: >-
                                CarrierId, use only for Zasilkovna/Packeta, use
                                their carrierID.
                              examples:
                                - 3060
                    paid:
                      type:
                        - boolean
                        - 'null'
                      description: flag, whether the order was paid
                      examples:
                        - true
                    billingMethodCode:
                      type: number
                      minimum: 1
                      maximum: 4
                      description: >-
                        billing method - see also [Billing
                        method](#section/code-lists/Invoice-Billing-Methods).
                        Optional.
                      examples:
                        - 2
                    clientIPAddress:
                      type:
                        - string
                        - 'null'
                      maxLength: 255
                      description: >-
                        IP address of the customer, from where the order was
                        made
                      examples:
                        - 62.128.123.12
                    customerGuid:
                      type:
                        - string
                        - 'null'
                      $ref: '#/components/schemas/typeGuid'
                      minLength: 1
                      description: >-
                        Customer GUID, if not done under known registered
                        customer (optional).
                    billingAddress:
                      type: object
                      additionalProperties: false
                      description: invoicing address
                      properties:
                        company:
                          type:
                            - string
                            - 'null'
                          maxLength: 100
                          description: >-
                            company name. Optional, if not set as mandatory item
                            in shop settings.
                          examples:
                            - Smith & Smith
                        fullName:
                          type:
                            - string
                            - 'null'
                          maxLength: 100
                          description: >-
                            customer name. Optional, if not set as mandatory
                            item in shop settings.
                          examples:
                            - John Doe
                        street:
                          type:
                            - string
                            - 'null'
                          maxLength: 100
                          description: >-
                            (string, optional) - street of the customer.
                            Optional, if not set as mandatory item in shop
                            settings.
                          examples:
                            - Main Street
                        streetWithNr:
                          type:
                            - string
                            - 'null'
                          maxLength: 100
                          description: >-
                            Street, including street number. Optional, if
                            necessary, to be divided to street and street number
                            and saved in respective fields. Use if you only have
                            the combined data. Usually, the `street` and
                            `houseNumber` will not be needed (if they are used,
                            however, they have priority).
                          examples:
                            - Main Street 123
                        houseNumber:
                          type:
                            - string
                            - 'null'
                          maxLength: 16
                          description: >-
                            street number. Optional, if not set as mandatory
                            item in shop settings.
                          examples:
                            - '123'
                        city:
                          type:
                            - string
                            - 'null'
                          maxLength: 100
                          description: >-
                            City/Town. Optional, if not set as mandatory item in
                            shop settings.
                          examples:
                            - Flat Country
                        district:
                          type:
                            - string
                            - 'null'
                          maxLength: 64
                          description: >-
                            County. Optional, if not set as mandatory item in
                            shop settings.
                          examples:
                            - Bohemia
                        additional:
                          type:
                            - string
                            - 'null'
                          maxLength: 64
                          description: Additional information for the address. Optional.
                          examples:
                            - 3rd floor
                        zip:
                          type:
                            - string
                            - 'null'
                          maxLength: 100
                          description: >-
                            ZIP or postal code. Optional, if not set as
                            mandatory item in shop settings.
                          examples:
                            - 123 00
                        countryCode:
                          type: string
                          minLength: 1
                          description: >-
                            (string, optional) - country of the customer.
                            Optional, the default delivery country is used as
                            the default value, taken from eshop settings.
                          examples:
                            - CZ
                        regionName:
                          type:
                            - string
                            - 'null'
                          minLength: 1
                          maxLength: 128
                          description: region. Optional.
                          examples:
                            - Central Bohemia
                        regionShortcut:
                          type:
                            - string
                            - 'null'
                          minLength: 1
                          maxLength: 16
                          description: region abbreviation. Optional.
                          examples:
                            - SC
                        companyId:
                          type:
                            - string
                            - 'null'
                          minLength: 1
                          maxLength: 18
                          description: >-
                            Company registration number of the customer, if
                            purchasing as a company. Optional.
                          examples:
                            - '123456'
                        vatId:
                          type:
                            - string
                            - 'null'
                          minLength: 1
                          maxLength: 16
                          description: >-
                            VAT identification number of the customer, if
                            purchasing on the company.
                          examples:
                            - CZ123456
                        taxId:
                          type:
                            - string
                            - 'null'
                          minLength: 1
                          maxLength: 16
                          description: >-
                            TAX identification number of the customer, if
                            purchasing on the company. For Czech address, taxId
                            must be the same as vatId, or left empty. Optional.
                          examples:
                            - CZ123456
                    addressesEqual:
                      type:
                        - boolean
                        - 'null'
                      description: >-
                        flag, whether the billing and delivery addresses are the
                        same
                      examples:
                        - true
                    deliveryAddress:
                      oneOf:
                        - type: 'null'
                        - type: object
                          additionalProperties: false
                          properties:
                            company:
                              type:
                                - string
                                - 'null'
                              maxLength: 255
                              description: >-
                                company name. Optional, if not set as mandatory
                                item in shop settings.
                              examples:
                                - Smith & Smith
                            fullName:
                              type:
                                - string
                                - 'null'
                              maxLength: 64
                              description: >-
                                customer name. Optional, if not set as mandatory
                                item in shop settings.
                              examples:
                                - John Doe
                            street:
                              type:
                                - string
                                - 'null'
                              maxLength: 100
                              description: >-
                                (string, optional) - street for delivery.
                                Optional, if not set as mandatory item in shop
                                settings.
                              examples:
                                - Main Street
                            streetWithNr:
                              type: string
                              maxLength: 100
                              description: >-
                                Street, including street number. Optional, if
                                necessary, to be divided to street and street
                                number and saved in the respective fields. Use
                                if you only have the combined data. Usually,
                                `street` and `houseNumber` will not be needed
                                (if they are used, however, they have priority).
                              examples:
                                - Main Street 123
                            houseNumber:
                              type:
                                - string
                                - 'null'
                              maxLength: 16
                              description: >-
                                street number. Optional, if not set as mandatory
                                item in shop settings.
                              examples:
                                - '123'
                            city:
                              type:
                                - string
                                - 'null'
                              maxLength: 100
                              description: >-
                                City/Town. Optional, if not set as mandatory
                                item in shop settings.
                              examples:
                                - Flat Country
                            district:
                              type:
                                - string
                                - 'null'
                              maxLength: 64
                              description: >-
                                County. Optional, if not set as mandatory item
                                in shop settings.
                              examples:
                                - Bohemia
                            additional:
                              type:
                                - string
                                - 'null'
                              maxLength: 64
                              description: >-
                                Additional information for the address.
                                Optional.
                              examples:
                                - 3rd floor
                            zip:
                              type:
                                - string
                                - 'null'
                              maxLength: 100
                              description: >-
                                ZIP or postal code. Optional, if not set as
                                mandatory item in shop settings.
                              examples:
                                - 123 00
                            countryCode:
                              type:
                                - string
                                - 'null'
                              description: >-
                                country of the customer. Optional, the default
                                delivery country is used as the default value,
                                taken from eshop settings.
                              examples:
                                - CZ
                            regionName:
                              type:
                                - string
                                - 'null'
                              maxLength: 128
                              description: region. Optional.
                              examples:
                                - Central Bohemia
                            regionShortcut:
                              type:
                                - string
                                - 'null'
                              maxLength: 16
                              description: region abbreviation. Optional.
                              examples:
                                - SC
                    notes:
                      description: additional notes for the order
                      oneOf:
                        - type: 'null'
                        - type: object
                          additionalProperties: false
                          properties:
                            customerRemark:
                              type:
                                - string
                                - 'null'
                              description: Remark of customer. Optional.
                              examples:
                                - Please deliver in the morning.
                            eshopRemark:
                              type:
                                - string
                                - 'null'
                              description: >-
                                remark of e-shop (not visible for customer).
                                Optional.
                              examples:
                                - Order from the cash desk
                            trackingNumber:
                              type:
                                - string
                                - 'null'
                              maxLength: 32
                              description: tracking number of the shipment.
                              examples:
                                - TR123345
                            additionalFields:
                              type: array
                              minItems: 1
                              description: additional optional fields (maximum 6).
                              items:
                                type: object
                                additionalProperties: false
                                required:
                                  - index
                                  - text
                                properties:
                                  index:
                                    type: integer
                                    minimum: 1
                                    maximum: 6
                                    description: number of optional field (1-6). Mandatory.
                                    examples:
                                      - 1
                                  text:
                                    type: string
                                    description: remark text. Mandatory
                                    examples:
                                      - Processed by Doe
                    stockId:
                      type: number
                      description: >-
                        stock number. Optional, the default value is the default
                        stock, taken from e-shop settings. In Shoptet, the only
                        alternative to the default stock is to collect in person
                        at the shop, otherwise the default stock is used.
                      examples:
                        - 1
                    currency:
                      type: object
                      additionalProperties: false
                      required:
                        - code
                      properties:
                        code:
                          $ref: '#/components/schemas/typeCurrencyCode'
                          description: currency abbreviation. Mandatory.
                          examples:
                            - CZK
                        exchangeRate:
                          type:
                            - string
                            - 'null'
                          pattern: ^[0-9]+\.[0-9]{2,8}$
                          description: exchange rate for main e-shop currency.
                    vatMode:
                      type: string
                      description: >-
                        VAT mode, `Normal` is used by default, possible values:
                        `Normal`, `One Stop Shop`*, `Reverse charge`, `Outside
                        the EU`. Please note, that `One Stop Shop` value
                        requires eshop `OSS` setting to be `true`.
                      examples:
                        - Normal
                    items:
                      type: array
                      minItems: 1
                      description: >-
                        order items. The order must have at least one product
                        item
                      items:
                        type: object
                        additionalProperties: false
                        required:
                          - itemType
                          - vatRate
                        properties:
                          itemType:
                            type: string
                            minLength: 1
                            description: >-
                              item type. Mandatory field. See also code list
                              [order item
                              types](#section/code-lists/Types-of-order-items).
                              `product` item type is min required. If `billing`
                              type is present paymentMethodGuid must be
                              provided. If `shipping` type is present
                              shippingGuid must be provided.
                            examples:
                              - product
                          name:
                            type: string
                            maxLength: 250
                            description: >-
                              Product name (optional, but usually filled in).
                              Mandatory only for transport and payment, for
                              other items, it is loaded according to `code`.
                            examples:
                              - Large chocolate
                          variantName:
                            type: string
                            maxLength: 128
                            description: Product variant name.
                            examples:
                              - Dark chocolate
                          brand:
                            type: string
                            maxLength: 64
                            description: brand (manufacturer). Optional.
                            examples:
                              - Willy Wonka
                          supplierName:
                            type: string
                            maxLength: 255
                            description: supplier name.
                            examples:
                              - Dodavatel s.r.o.
                          productGuid:
                            type: string
                            $ref: '#/components/schemas/typeGuid'
                            minLength: 1
                            description: >-
                              Product GUID in item. When used with the
                              `?suppressProductChecking=true` parameter, this
                              field has no influence.
                          code:
                            type:
                              - string
                              - 'null'
                            maxLength: 64
                          remark:
                            type: string
                            description: remark for the item. Optional.
                            examples:
                              - With cubicles
                          warrantyDescription:
                            type:
                              - string
                              - 'null'
                            minLength: 1
                            maxLength: 255
                            description: >-
                              textual description of warranty length (can be
                              `null`)
                            examples:
                              - 2 years
                          amountCompleted:
                            $ref: '#/components/schemas/typePositiveAmount'
                            description: quantity of completed product
                          additionalField:
                            type:
                              - string
                              - 'null'
                            maxLength: 255
                            description: >-
                              additional information. Used for transport to
                              specify the branch (can be `null`)
                            examples:
                              - >-
                                TO BALÍKOVNA, Karlínské náměstí 145/1, Karlín,
                                18600, Prague
                          amount:
                            type: string
                            pattern: ^[0-9]+\.?[0-9]{0,3}$
                            description: >-
                              amount, 3 decimal places accuracy, optional,
                              default value `1.000`.
                            examples:
                              - '1.000'
                          amountUnit:
                            type: string
                            minLength: 1
                            maxLength: 16
                            description: unit of quantity (optional)
                            examples:
                              - ks
                          weight:
                            type: string
                            description: >-
                              product weight in kilograms. Maximum 3 decimal
                              places, and maximum value of 99999.
                            examples:
                              - '100'
                          priceRatio:
                            type: string
                            description: >-
                              discount in the form of coefficient (0.7 = 70 % of
                              the original price, i.e. 30 % discount). Optional,
                              default value is `1.0000`
                            examples:
                              - '0.7'
                          vatRate:
                            type: string
                            description: VAT rate (`0.00` for VAT non-payers). Mandatory.
                          itemPriceWithVat:
                            type:
                              - string
                              - 'null'
                            description: >-
                              item amount including VAT. Only one of the items
                              `itemPriceWithVat` or `itemPriceWithoutVat` must
                              be entered
                            examples:
                              - '121.00'
                          itemPriceWithoutVat:
                            type:
                              - string
                              - 'null'
                            description: >-
                              item amount excluding VAT. Only one of the items
                              `itemPriceWithVat` or `itemPriceWithoutVat` must
                              be entered
                            examples:
                              - '100.00'
                          buyPriceWithVat:
                            type:
                              - string
                              - 'null'
                            description: >-
                              Purchase price, including VAT. Price including tax
                              and price excluding tax cannot be combined. This
                              is used for profit margin calculation and
                              statistics.
                          buyPriceWithoutVat:
                            type:
                              - string
                              - 'null'
                            description: >-
                              Purchase price, excluding VAT. Optional. Price
                              including tax and price excluding tax cannot be
                              combined. This is used for profit margin
                              calculation and statistics.
                          buyPriceVatRate:
                            type:
                              - string
                              - 'null'
                            description: VAT rate for purchase price.
                          statusId:
                            type:
                              - number
                              - 'null'
                            description: >-
                              Order item status. Optional, if not indicated,
                              default value is guided by the order status. If
                              the order status was indicated and this status has
                              the `Change status of items in the order` flag
                              set, then the item will have this status.
                              Otherwise the default status of the e-shop is
                              used.
                            examples:
                              - -1
                          recyclingFeeId:
                            type:
                              - integer
                              - 'null'
                            description: ID of the recycling fee.
                            examples:
                              - 2
                          surchargeParameters:
                            type: array
                            items:
                              type: object
                              additionalProperties: false
                              required:
                                - parameterCode
                                - valueIndex
                              properties:
                                parameterCode:
                                  type: string
                                  minLength: 1
                                valueIndex:
                                  type: string
                                  minLength: 1
                                price:
                                  type: string
                                  $ref: '#/components/schemas/typePrice'
                          consumptionTaxId:
                            $ref: '#/components/schemas/consumptionTaxId'
  /api/orders/snapshot:
    get:
      responses:
        '200':
          description: OK
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    additionalProperties: false
                    required:
                      - jobId
                    properties:
                      jobId:
                        examples:
                          - ad24xod
                        description: token of job
                        type: string
                  errors:
                    $ref: '#/components/schemas/Errors'
      summary: List of all orders
      operationId: getListOfAllOrders
      description: >-
        Using this endpoint, you can get list of all orders with detailed info
        of each order (like in Order Detail endpoint)

        asynchronously. See how [Asynchronous
        requests](https://developers.shoptet.com/asynchronous-requests/) work on
        our

        developer's portal.



        The list may be filtered by date of creation and order code. The code is
        the order identifier. Although this is usually

        a number, it is necessary to take into account that this might also
        include letters, dash, etc.



        Response will be in [jsonlines](https://jsonlines.org/) format with each
        order taking one line of output file.

        One order in response has the same format as order detail response (in
        `data` attribute)



        This endpoint has several sections, which are exported only when
        requested in the `include` parameter (see

        [Requested
        sections](#section/basic-principles-of-working-with-api/Section-on-demand)).



        Include parameter     | Meaning

        ---                   | ---

        `notes`               | Order remarks, including up to six additional
        fields, which can be freely used by e-shop for its individual needs. The
        field names can be defined in administration and this section returns
        their names.

        `images`              | Order images

        `shippingDetails`     | Transport details

        `stockLocation`       | Position in the stock

        `surchargeParameters` | Item surcharge parameters

        `productFlags`        | Item product flags


        Result file is compressed using GZIP.
      tags:
        - Orders
      parameters:
        - name: include
          in: query
          description: |-
            Optional parts of response. Available values are
            `notes,images,shippingDetails,stockLocation,surchargeParameters`.
          schema:
            type: string
        - name: statusId
          in: query
          description: Purchase order filtering, according to order status id.
          schema:
            type: string
        - name: shippingGuid
          in: query
          description: Purchase order filtering, according to forwarder GUID.
          schema:
            type: string
        - name: shippingCompanyCode
          in: query
          description: |-
            Purchase order filtering, according to forwarder [company
            code](#tag/shipping-methods/getlistofshippingmethods).
          schema:
            type: string
        - name: paymentMethodGuid
          in: query
          description: Purchase order filtering, according to payment method.
          schema:
            type: string
        - name: creationTimeFrom
          in: query
          description: |-
            Purchase order filtering, according to date of creation. ISO 8601
            format ("2017-12-12T22:08:01+0100").
          schema:
            type: string
        - name: creationTimeTo
          in: query
          description: |-
            Purchase order filtering, according to date of creation. ISO 8601
            format ("2017-12-12T22:08:01+0100").
          schema:
            type: string
        - name: codeFrom
          in: query
          description: Purchase order filtering, according to order code.
          schema:
            type: string
        - name: codeTo
          in: query
          description: Purchase order filtering, according to order code.
          schema:
            type: string
        - name: customerGuid
          in: query
          description: Purchase order filtering, according to customer number.
          schema:
            type: string
        - name: email
          in: query
          description: |-
            Purchase order filtering, according to customer e-mail. The accurate
            match is searched for, regardless of capitalization.
          schema:
            type: string
        - name: phone
          in: query
          description: |-
            Purchase order filtering, according to customer phone. International
            format only (+420123456789)
          schema:
            type: string
        - name: productCode
          in: query
          description: Order filter by product's code that is in order.
          schema:
            type: string
        - name: changeTimeFrom
          in: query
          description: |-
            Purchase order filtering, according to date of last update. ISO 8601
            format ("2017-12-12T22:08:01+0100").
          schema:
            type: string
        - name: changeTimeTo
          in: query
          description: |-
            Purchase order filtering, according to date of last update. ISO 8601
            format ("2017-12-12T22:08:01+0100").
          schema:
            type: string
        - name: sourceId
          in: query
          description: |-
            Order source filtering according to source id. For more information,
            see List of order sources endpoint.
          schema:
            type: string
        - $ref: '#/components/parameters/DefaultContentType'
  /api/orders/{code}:
    get:
      responses:
        '200':
          description: OK
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    additionalProperties: false
                    required:
                      - order
                    properties:
                      order:
                        type: object
                        additionalProperties: false
                        required:
                          - code
                          - guid
                          - externalCode
                          - creationTime
                          - changeTime
                          - email
                          - phone
                          - clientIPAddress
                          - customerGuid
                          - vatPayer
                          - cashDeskOrder
                          - stockId
                          - addressesEqual
                          - billingMethod
                          - paymentMethod
                          - shipping
                          - adminUrl
                          - status
                          - price
                          - paid
                          - billingAddress
                          - deliveryAddress
                          - items
                        properties:
                          code:
                            type: string
                            description: >-
                              order number. Caution! This does not have to be
                              just a number, it can also contain letters, a
                              dash, etc.
                            examples:
                              - '2017000092'
                          guid:
                            type: string
                            description: >-
                              global unique permanent order identifier (can be
                              `null` for old orders)
                            examples:
                              - c5012051-d7ca-11e0-9a5c-feab5ed617ed
                          externalCode:
                            type:
                              - string
                              - 'null'
                            description: >-
                              Identification of the order in external system (or
                              `null`).
                            examples:
                              - '1234'
                          creationTime:
                            $ref: '#/components/schemas/typeDateTime'
                            description: >-
                              date and time, when the order was created. ISO
                              8601 format.
                          changeTime:
                            type:
                              - string
                              - 'null'
                            $ref: '#/components/schemas/typeDateTime'
                            description: >-
                              date and time of the order's last change. ISO 8601
                              format.
                          email:
                            type:
                              - string
                              - 'null'
                            description: purchaser e-mail (can be `null`)
                            examples:
                              - customer@someemail.com
                          phone:
                            type:
                              - string
                              - 'null'
                            description: purchaser phone number (can be `null`)
                            examples:
                              - '+420604600444'
                          birthDate:
                            type:
                              - string
                              - 'null'
                            description: customer's date of birth stated in the order
                            examples:
                              - '1980-01-01'
                          clientIPAddress:
                            type:
                              - string
                              - 'null'
                            description: IP address of the client who made the order
                            examples:
                              - 213.46.237.24
                          customerGuid:
                            type:
                              - string
                              - 'null'
                            $ref: '#/components/schemas/typeGuidUnlimited'
                            description: >-
                              customer identifier, if the customer is registered
                              in the e-shop (can be `null`)
                          cashDeskOrder:
                            type: boolean
                            description: >-
                              flag, whether the order is from the cash desk (as
                              opposed to the e-shop)
                            examples:
                              - true
                          stockId:
                            type: number
                            description: >-
                              identifier of the stock, from which the order was
                              taken
                            examples:
                              - 1
                          addressesEqual:
                            type: boolean
                            description: >-
                              flag, whether the delivery address is the same as
                              the invoicing address
                            examples:
                              - true
                          vatPayer:
                            type: boolean
                            description: >-
                              Is the tradesman a VAT payer, when purchasing?
                              (can be `null`, if this is unknown)
                            examples:
                              - true
                          vatMode:
                            type:
                              - string
                              - 'null'
                            description: >-
                              VAT mode, for possible values see [VAT
                              modes](#section/code-lists/VAT-modes)
                            examples:
                              - Normal
                          billingMethod:
                            type:
                              - object
                              - 'null'
                            $ref: '#/components/schemas/billingMethod'
                          paymentMethod:
                            type:
                              - object
                              - 'null'
                            $ref: '#/components/schemas/paymentMethod'
                          shipping:
                            type:
                              - object
                              - 'null'
                            $ref: '#/components/schemas/shipping'
                          shippingDetails:
                            type:
                              - object
                              - 'null'
                            additionalProperties: false
                            required:
                              - branchId
                              - shippingCompanyCode
                              - name
                              - note
                              - place
                              - street
                              - city
                              - zipCode
                              - countryCode
                              - link
                              - latitude
                              - longitude
                              - carrierId
                            properties:
                              branchId:
                                type:
                                  - string
                                  - 'null'
                                description: branch identifier
                                examples:
                                  - '4'
                              shippingCompanyCode:
                                type:
                                  - string
                                  - 'null'
                                description: identification of the carrier
                                examples:
                                  - zasilkovna
                              shippingServiceCode:
                                type:
                                  - string
                                  - 'null'
                                description: identification of the carrier's service
                                examples:
                                  - zasilkovna-pickup
                              name:
                                type:
                                  - string
                                  - 'null'
                                description: name of the branch
                                examples:
                                  - Hradec Králové, Square of 5th May 888
                              note:
                                type:
                                  - string
                                  - 'null'
                                description: branch location note, can contain HTML
                                examples:
                                  - >-
                                    <p>Open: Mon-Fri 8:00-18:00, Sat
                                    8:00-12:00</p>
                              place:
                                type:
                                  - string
                                  - 'null'
                                description: location (specify location within address).
                                examples:
                                  - Creator
                              street:
                                type:
                                  - string
                                  - 'null'
                                description: street
                                examples:
                                  - Square of 5th May 888
                              city:
                                type:
                                  - string
                                  - 'null'
                                description: city/town
                                examples:
                                  - Hradec Králové
                              zipCode:
                                type:
                                  - string
                                  - 'null'
                                description: ZIP or postal code
                                examples:
                                  - '50002'
                              countryCode:
                                type:
                                  - string
                                  - 'null'
                                description: country code
                                examples:
                                  - CZ
                              link:
                                type:
                                  - string
                                  - 'null'
                                description: link to the branch's website
                                examples:
                                  - >-
                                    https://www.ulozenka.cz/pobocky/4/hradec-kralove-nam-5-kvetna-888
                              latitude:
                                type:
                                  - string
                                  - 'null'
                                description: GPS coordinates - north latitude
                                examples:
                                  - '50.213673'
                              longitude:
                                type:
                                  - string
                                  - 'null'
                                description: GPS coordinates - east longitude
                                examples:
                                  - '15.832775'
                              carrierId:
                                type:
                                  - integer
                                  - 'null'
                                description: >-
                                  identification of the carrier - now it's used
                                  for Zasilkovna only. The value is `null` for
                                  Czech Zasilkovna or carrier ID for Zasilkovna
                                  in the other countries.
                                examples:
                                  - 3060
                          adminUrl:
                            type: string
                            description: >-
                              URL to administration leading to order detail. URL
                              keeps the administration language settings.
                            examples:
                              - >-
                                https://www.domena-eshopu.cz/admin/objednavky-detail?id=2
                          status:
                            type:
                              - object
                              - 'null'
                            additionalProperties: false
                            required:
                              - name
                              - id
                            properties:
                              name:
                                type:
                                  - string
                                  - 'null'
                                description: status name
                                examples:
                                  - Processing
                              id:
                                type: number
                                description: status identifier
                                examples:
                                  - -1
                          source:
                            type:
                              - object
                              - 'null'
                            additionalProperties: false
                            required:
                              - name
                              - id
                            description: source of the order
                            properties:
                              name:
                                type:
                                  - string
                                  - 'null'
                                description: source name
                                examples:
                                  - E-Shop
                              id:
                                type: number
                                description: source identifier
                                examples:
                                  - -1
                          price:
                            $ref: '#/components/schemas/price'
                            description: price of the order
                          paid:
                            type:
                              - boolean
                              - 'null'
                            description: >-
                              flag, whether the order was paid. In addition to
                              `true` a `false`, can also be `null`, if the
                              payment status is unknown.
                            examples:
                              - true
                          billingAddress:
                            $ref: '#/components/schemas/billingAddress'
                          deliveryAddress:
                            oneOf:
                              - $ref: '#/components/schemas/address'
                              - type: 'null'
                          onlinePaymentLink:
                            type:
                              - string
                              - 'null'
                            description: URL to online payment
                            examples:
                              - >-
                                https://www.domena-eshopu.cz/api/pay/payu/redir?paymentCode=xyz123
                          language:
                            type: string
                            description: language code of the order
                            examples:
                              - cs
                          referer:
                            type:
                              - string
                              - 'null'
                            description: which page (url) has the user come from
                            examples:
                              - https://www.google.cz/
                          paymentMethods:
                            type: array
                            description: all order payment methods
                            items:
                              type: object
                              additionalProperties: false
                              required:
                                - paymentMethod
                                - itemId
                              properties:
                                paymentMethod:
                                  $ref: '#/components/schemas/paymentMethod'
                                itemId:
                                  type: number
                                  description: payment method identifier within order
                                  examples:
                                    - 564
                          shippings:
                            type: array
                            description: all order shippings
                            items:
                              type: object
                              additionalProperties: false
                              required:
                                - shipping
                                - itemId
                              properties:
                                shipping:
                                  type: object
                                  additionalProperties: false
                                  required:
                                    - guid
                                    - name
                                  description: transport method
                                  properties:
                                    guid:
                                      type:
                                        - string
                                        - 'null'
                                      $ref: '#/components/schemas/typeGuid'
                                      description: transport method identifier
                                    name:
                                      type: string
                                      description: description of transport method
                                      examples:
                                        - PPL
                                itemId:
                                  type: number
                                  description: transport method identifier within order
                                  examples:
                                    - 897
                          items:
                            type: array
                            description: all order items
                            items:
                              $ref: '#/components/schemas/orderItem'
                          notes:
                            type: object
                            additionalProperties: false
                            description: >-
                              order notes (only filled in on request if
                              `include=notes` is listed)
                            required:
                              - customerRemark
                              - eshopRemark
                              - trackingNumber
                              - trackingUrl
                              - additionalFields
                            properties:
                              customerRemark:
                                type:
                                  - string
                                  - 'null'
                                description: customer note
                                examples:
                                  - Better in green
                              eshopRemark:
                                type:
                                  - string
                                  - 'null'
                                description: e-shop order remark.
                                examples:
                                  - Gift wrapping
                              trackingNumber:
                                type:
                                  - string
                                  - 'null'
                                description: shipment number
                                examples:
                                  - DR123456
                              trackingUrl:
                                type:
                                  - string
                                  - 'null'
                                description: package trace link (can be `null`)
                                examples:
                                  - >-
                                    http://www.ppl.cz/main2.aspx?cls=Package&idSearch=DR123456
                              additionalFields:
                                type: array
                                description: >-
                                  can contain up to six additional fields, which
                                  can be freely used by e-shop for its
                                  individual needs.
                                items:
                                  type: object
                                  additionalProperties: false
                                  required:
                                    - index
                                    - label
                                    - text
                                  properties:
                                    index:
                                      type: integer
                                      description: sequence number
                                      examples:
                                        - 1
                                    label:
                                      type: string
                                      description: >-
                                        item name. The name of the field can be
                                        edited in the e-shop administration.
                                      examples:
                                        - 1st field
                                    text:
                                      type:
                                        - string
                                        - 'null'
                                      description: item value (can be `null`)
                                      examples:
                                        - forwarder ID
                  errors:
                    $ref: '#/components/schemas/Errors'
                required:
                  - data
                  - errors
                additionalProperties: false
      summary: Order detail
      operationId: getOrderDetail
      description: >-
        This endpoint has several sections, which are only sent when requested

        in the `include` parameter (see


        [Requested
        sections](#section/basic-principles-of-working-with-api/Section-on-demand)).



        Value | Section

        --------|------

        `notes` | Order remarks, including up to six additional fields, which
        can be freely used by e-shop for its individual needs. The field names
        can be defined in administration and this section returns their names.

        `images`| Order images

        `shippingDetails`| Transport details

        `stockLocation`| Position in the stock

        `surchargeParameters`| Item surcharge parameters

        `productFlags`| Item product flags


        Returns the detail for one order. In the `items` field, the individual

        items of the order, including transport and payment methods.



        The product name and variants, weight, manufacturer and similar items

        are copied into the order items when the order is made.
         Even though the products are changed later in the shop, the orders are not affected. `productGuid` item contains
        GUID of purchased product. If this is changed or deleted, the order is

        not affected. You have to take into account that



        `productGuid` does not have to refer to an existing product. The same

        goes for the `code` item, containing the identification of a purchased



        variant or product. You have to take into account that when deleting the

        product or changing the `code` of the product, the reference from the

        order



        is lost. In other words, you have to take into account the fact that the

        `code` or `productGuid` do not have to refer to one of the currently

        existing



        products (variant). They may also be `null`.



        In most cases the items in the response are the same as you can see in

        the administration of PDF printout of an order.



        There are however some advanced cases (in case of coupon discount with

        absolute value or in case of



        a volume discount and products with multiple VAT rates in the order), in

        which case they are different:



        - Administration and PDF will show multiple rows for the discount – for

        each VAT rate one row and the price field split evenly.



        - The API response will return only one row indicating the total price

        of the discount.



        The difference is based on how data is internally stored and presented.

        The API is bases more on internal storage principle,



        there is however also an array `displayPrices`, which contains the

        presentation (printout) version of each item.



        If you state the `include=images` parameter within the URL, the

        information about the main image for all products in the order
         will also be part of the response. For more information about access to images go to [Product images](#section/Product-images).


        In the `shippingDetails` section, there is an information about shipping

        the order. `branchId` is used for the identification of the carrier's

        branch and



        next fields are used for the detail of the branch (name, address, etc.).

        `carrierId` is used for the numeral identification of the carrier.

        Nowadays this field



        is used for Zasilkovna only and the value can be `null` for Czech

        Zasilkovna or integer for Zasilkovna in the other countries.
      tags:
        - Orders
      parameters:
        - name: code
          in: path
          description: ''
          required: true
          example: '2018000012'
          schema:
            type: string
        - name: include
          in: query
          description: optional parts of response
          example: notes,images,shippingDetails,stockLocation,productFlags
          schema:
            type: string
        - $ref: '#/components/parameters/DefaultContentType'
    delete:
      responses:
        '200':
          description: OK
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    type: 'null'
                    additionalProperties: false
                  errors:
                    $ref: '#/components/schemas/Errors'
                required:
                  - data
                  - errors
                additionalProperties: false
        '404':
          description: Not Found
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    type: 'null'
                  errors:
                    $ref: '#/components/schemas/Errors'
              example:
                data: null
                errors:
                  - errorCode: order-not-found
                    message: Order with code "0000000001" not found.
                    instance: '0000000001'
      summary: Order deletion
      operationId: deleteOrder
      description: ''
      tags:
        - Orders
      parameters:
        - name: code
          in: path
          description: ''
          required: true
          example: '0000000001'
          schema:
            type: string
        - $ref: '#/components/parameters/DefaultContentType'
  /api/orders/{code}/head:
    patch:
      responses:
        '200':
          description: OK
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    additionalProperties: false
                    required:
                      - order
                    properties:
                      order:
                        type: object
                        additionalProperties: false
                        required:
                          - code
                          - guid
                          - externalCode
                          - creationTime
                          - changeTime
                          - email
                          - phone
                          - clientIPAddress
                          - customerGuid
                          - vatPayer
                          - cashDeskOrder
                          - stockId
                          - addressesEqual
                          - billingMethod
                          - paymentMethod
                          - shipping
                          - adminUrl
                          - status
                          - price
                          - paid
                          - billingAddress
                          - deliveryAddress
                          - items
                        properties:
                          code:
                            type: string
                            description: >-
                              order number. Caution! This does not have to be
                              just a number, it can also contain letters, a
                              dash, etc.
                            examples:
                              - '2017000092'
                          guid:
                            type: string
                            description: >-
                              global unique permanent order identifier (can be
                              `null` for old orders)
                            examples:
                              - c5012051-d7ca-11e0-9a5c-feab5ed617ed
                          externalCode:
                            type:
                              - string
                              - 'null'
                            description: >-
                              Identification of the order in external system (or
                              `null`).
                            examples:
                              - '1234'
                          creationTime:
                            $ref: '#/components/schemas/typeDateTime'
                            description: >-
                              date and time, when the order was created. ISO
                              8601 format.
                          changeTime:
                            type:
                              - string
                              - 'null'
                            $ref: '#/components/schemas/typeDateTime'
                            description: >-
                              date and time of the order's last change. ISO 8601
                              format.
                          email:
                            type:
                              - string
                              - 'null'
                            description: purchaser e-mail (can be `null`)
                            examples:
                              - customer@someemail.com
                          phone:
                            type:
                              - string
                              - 'null'
                            description: purchaser phone number (can be `null`)
                            examples:
                              - '+420604600444'
                          birthDate:
                            type:
                              - string
                              - 'null'
                            description: customer's date of birth stated in the order
                            examples:
                              - '1980-01-01'
                          clientIPAddress:
                            type:
                              - string
                              - 'null'
                            description: IP address of the client who made the order
                            examples:
                              - 213.46.237.24
                          customerGuid:
                            type:
                              - string
                              - 'null'
                            $ref: '#/components/schemas/typeGuidUnlimited'
                            description: >-
                              customer identifier, if the customer is registered
                              in the e-shop (can be `null`)
                          cashDeskOrder:
                            type: boolean
                            description: >-
                              flag, whether the order is from the cash desk (as
                              opposed to the e-shop)
                            examples:
                              - true
                          stockId:
                            type: number
                            description: >-
                              identifier of the stock, from which the order was
                              taken
                            examples:
                              - 1
                          addressesEqual:
                            type: boolean
                            description: >-
                              flag, whether the delivery address is the same as
                              the invoicing address
                            examples:
                              - true
                          vatPayer:
                            type: boolean
                            description: >-
                              Is the tradesman a VAT payer, when purchasing?
                              (can be `null`, if this is unknown)
                            examples:
                              - true
                          vatMode:
                            type:
                              - string
                              - 'null'
                            description: >-
                              VAT mode, for possible values see [VAT
                              modes](#section/code-lists/VAT-modes)
                            examples:
                              - Normal
                          billingMethod:
                            type:
                              - object
                              - 'null'
                            $ref: '#/components/schemas/billingMethod'
                          paymentMethod:
                            type:
                              - object
                              - 'null'
                            $ref: '#/components/schemas/paymentMethod'
                          shipping:
                            type:
                              - object
                              - 'null'
                            $ref: '#/components/schemas/shipping'
                          shippingDetails:
                            type:
                              - object
                              - 'null'
                            additionalProperties: false
                            required:
                              - branchId
                              - shippingCompanyCode
                              - name
                              - note
                              - place
                              - street
                              - city
                              - zipCode
                              - countryCode
                              - link
                              - latitude
                              - longitude
                              - carrierId
                            properties:
                              branchId:
                                type:
                                  - string
                                  - 'null'
                                description: branch identifier
                                examples:
                                  - '4'
                              shippingCompanyCode:
                                type:
                                  - string
                                  - 'null'
                                description: identification of the carrier
                                examples:
                                  - zasilkovna
                              shippingServiceCode:
                                type:
                                  - string
                                  - 'null'
                                description: identification of the carrier's service
                                examples:
                                  - zasilkovna-pickup
                              name:
                                type:
                                  - string
                                  - 'null'
                                description: name of the branch
                                examples:
                                  - Hradec Králové, Square of 5th May 888
                              note:
                                type:
                                  - string
                                  - 'null'
                                description: branch location note, can contain HTML
                                examples:
                                  - >-
                                    <p>Open: Mon-Fri 8:00-18:00, Sat
                                    8:00-12:00</p>
                              place:
                                type:
                                  - string
                                  - 'null'
                                description: location (specify location within address).
                                examples:
                                  - Creator
                              street:
                                type:
                                  - string
                                  - 'null'
                                description: street
                                examples:
                                  - Square of 5th May 888
                              city:
                                type:
                                  - string
                                  - 'null'
                                description: city/town
                                examples:
                                  - Hradec Králové
                              zipCode:
                                type:
                                  - string
                                  - 'null'
                                description: ZIP or postal code
                                examples:
                                  - '50002'
                              countryCode:
                                type:
                                  - string
                                  - 'null'
                                description: country code
                                examples:
                                  - CZ
                              link:
                                type:
                                  - string
                                  - 'null'
                                description: link to the branch's website
                                examples:
                                  - >-
                                    https://www.ulozenka.cz/pobocky/4/hradec-kralove-nam-5-kvetna-888
                              latitude:
                                type:
                                  - string
                                  - 'null'
                                description: GPS coordinates - north latitude
                                examples:
                                  - '50.213673'
                              longitude:
                                type:
                                  - string
                                  - 'null'
                                description: GPS coordinates - east longitude
                                examples:
                                  - '15.832775'
                              carrierId:
                                type:
                                  - integer
                                  - 'null'
                                description: >-
                                  identification of the carrier - now it's used
                                  for Zasilkovna only. The value is `null` for
                                  Czech Zasilkovna or carrier ID for Zasilkovna
                                  in the other countries.
                                examples:
                                  - 3060
                          adminUrl:
                            type: string
                            description: >-
                              URL to administration leading to order detail. URL
                              keeps the administration language settings.
                            examples:
                              - >-
                                https://www.domena-eshopu.cz/admin/objednavky-detail?id=2
                          status:
                            type:
                              - object
                              - 'null'
                            additionalProperties: false
                            required:
                              - name
                              - id
                            properties:
                              name:
                                type:
                                  - string
                                  - 'null'
                                description: status name
                                examples:
                                  - Processing
                              id:
                                type: number
                                description: status identifier
                                examples:
                                  - -1
                          source:
                            type:
                              - object
                              - 'null'
                            additionalProperties: false
                            required:
                              - name
                              - id
                            description: source of the order
                            properties:
                              name:
                                type:
                                  - string
                                  - 'null'
                                description: source name
                                examples:
                                  - E-Shop
                              id:
                                type: number
                                description: source identifier
                                examples:
                                  - -1
                          price:
                            $ref: '#/components/schemas/price'
                            description: price of the order
                          paid:
                            type:
                              - boolean
                              - 'null'
                            description: >-
                              flag, whether the order was paid. In addition to
                              `true` a `false`, can also be `null`, if the
                              payment status is unknown.
                            examples:
                              - true
                          billingAddress:
                            $ref: '#/components/schemas/billingAddress'
                          deliveryAddress:
                            oneOf:
                              - $ref: '#/components/schemas/address'
                              - type: 'null'
                          onlinePaymentLink:
                            type:
                              - string
                              - 'null'
                            description: URL to online payment
                            examples:
                              - >-
                                https://www.domena-eshopu.cz/api/pay/payu/redir?paymentCode=xyz123
                          language:
                            type: string
                            description: language code of the order
                            examples:
                              - cs
                          referer:
                            type:
                              - string
                              - 'null'
                            description: which page (url) has the user come from
                            examples:
                              - https://www.google.cz/
                          paymentMethods:
                            type: array
                            description: all order payment methods
                            items:
                              type: object
                              additionalProperties: false
                              required:
                                - paymentMethod
                                - itemId
                              properties:
                                paymentMethod:
                                  $ref: '#/components/schemas/paymentMethod'
                                itemId:
                                  type: number
                                  description: payment method identifier within order
                                  examples:
                                    - 564
                          shippings:
                            type: array
                            description: all order shippings
                            items:
                              type: object
                              additionalProperties: false
                              required:
                                - shipping
                                - itemId
                              properties:
                                shipping:
                                  type: object
                                  additionalProperties: false
                                  required:
                                    - guid
                                    - name
                                  description: transport method
                                  properties:
                                    guid:
                                      type:
                                        - string
                                        - 'null'
                                      $ref: '#/components/schemas/typeGuid'
                                      description: transport method identifier
                                    name:
                                      type: string
                                      description: description of transport method
                                      examples:
                                        - PPL
                                itemId:
                                  type: number
                                  description: transport method identifier within order
                                  examples:
                                    - 897
                          items:
                            type: array
                            description: all order items
                            items:
                              $ref: '#/components/schemas/orderItem'
                          notes:
                            type: object
                            additionalProperties: false
                            description: >-
                              order notes (only filled in on request if
                              `include=notes` is listed)
                            required:
                              - customerRemark
                              - eshopRemark
                              - trackingNumber
                              - trackingUrl
                              - additionalFields
                            properties:
                              customerRemark:
                                type:
                                  - string
                                  - 'null'
                                description: customer note
                                examples:
                                  - Better in green
                              eshopRemark:
                                type:
                                  - string
                                  - 'null'
                                description: e-shop order remark.
                                examples:
                                  - Gift wrapping
                              trackingNumber:
                                type:
                                  - string
                                  - 'null'
                                description: shipment number
                                examples:
                                  - DR123456
                              trackingUrl:
                                type:
                                  - string
                                  - 'null'
                                description: package trace link (can be `null`)
                                examples:
                                  - >-
                                    http://www.ppl.cz/main2.aspx?cls=Package&idSearch=DR123456
                              additionalFields:
                                type: array
                                description: >-
                                  can contain up to six additional fields, which
                                  can be freely used by e-shop for its
                                  individual needs.
                                items:
                                  type: object
                                  additionalProperties: false
                                  required:
                                    - index
                                    - label
                                    - text
                                  properties:
                                    index:
                                      type: integer
                                      description: sequence number
                                      examples:
                                        - 1
                                    label:
                                      type: string
                                      description: >-
                                        item name. The name of the field can be
                                        edited in the e-shop administration.
                                      examples:
                                        - 1st field
                                    text:
                                      type:
                                        - string
                                        - 'null'
                                      description: item value (can be `null`)
                                      examples:
                                        - forwarder ID
                  errors:
                    $ref: '#/components/schemas/Errors'
                required:
                  - data
                  - errors
                additionalProperties: false
      summary: Order head change
      operationId: updateOrderHead
      description: |-
        You can change basic info (head) of order with this method.

        **Please note following rules**

        - `email` .. maxLength 100 characters

        - `phone` .. maxLength 32 characters

        - `billingAddress.company` .. maxLength 100 characters

        - `billingAddress.fullName` .. maxLength 100 characters

        - `billingAddress.street` .. maxLength 100 characters

        - `billingAddress.houseNumber` .. maxLength 16 characters

        - `billingAddress.city` .. maxLength 100 characters

        - `billingAddress.district` .. maxLength 64 characters

        - `billingAddress.additional` .. maxLength 64 characters

        - `billingAddress.zip` .. maxLength 100 characters

        - `billingAddress.regionName` .. maxLength 128 characters

        - `billingAddress.regionShortcut` .. maxLength 16 characters

        - `billingAddress.companyId` .. maxLength 18 characters

        - `billingAddress.vatId` .. maxLength 16 characters

        - `billingAddress.taxId` .. maxLength 16 characters

        - `deliveryAddress.company` .. maxLength 255 characters

        - `deliveryAddress.fullName` .. maxLength 64 characters

        - `deliveryAddress.street` .. maxLength 100 characters

        - `deliveryAddress.houseNumber` .. maxLength 16 characters

        - `deliveryAddress.city` .. maxLength 100 characters

        - `deliveryAddress.district` .. maxLength 64 characters

        - `deliveryAddress.additional` .. maxLength 64 characters

        - `deliveryAddress.zip` .. maxLength 100 characters

        - `deliveryAddress.regionName` .. maxLength 128 characters

        - `deliveryAddress.regionShortcut` .. maxLength 16 characters
      tags:
        - Orders
      parameters:
        - name: code
          in: path
          description: order code (number)
          required: true
          example: '2018000012'
          schema:
            type: string
        - $ref: '#/components/parameters/DefaultContentType'
      requestBody:
        content:
          application/vnd.shoptet.v1.0+json:
            schema:
              type: object
              required:
                - data
              properties:
                data:
                  type: object
                  minProperties: 1
                  additionalProperties: false
                  properties:
                    creationTime:
                      type: string
                      description: >-
                        time of order creation. Optional, current time is the
                        default value.
                      examples:
                        - 2018-01-21T14:15:47+0100
                    email:
                      type:
                        - string
                        - 'null'
                      minLength: 1
                      maxLength: 100
                      description: >-
                        customer e-mail (can be omitted only when ordering via
                        cash desk).
                      examples:
                        - foo@bar.cz
                    phone:
                      type:
                        - string
                        - 'null'
                      minLength: 1
                      maxLength: 32
                      description: >-
                        phone number of the customer. Optional, if not set as
                        mandatory item in shop settings.
                      examples:
                        - '+420123456789'
                    birthDate:
                      type:
                        - string
                        - 'null'
                      description: >-
                        customer birth date (optional, if not made mandatory by
                        the e-shop settings).
                      examples:
                        - '1990-01-01'
                    customerGuid:
                      type: string
                      $ref: '#/components/schemas/typeGuidUnlimited'
                      minLength: 1
                      description: >-
                        Customer GUID, if not done under known registered
                        customer (optional).
                    addressesEqual:
                      type:
                        - boolean
                        - 'null'
                      description: >-
                        flag, whether the billing and delivery addresses are the
                        same
                      examples:
                        - true
                    billingAddress:
                      type: object
                      additionalProperties: false
                      properties:
                        company:
                          type:
                            - string
                            - 'null'
                          maxLength: 100
                          description: >-
                            company name. Optional, if not set as mandatory item
                            in shop settings.
                          examples:
                            - Smith & Smith
                        fullName:
                          type:
                            - string
                            - 'null'
                          maxLength: 100
                          description: >-
                            customer name. Optional, if not set as mandatory
                            item in shop settings.
                          examples:
                            - John Doe
                        street:
                          type:
                            - string
                            - 'null'
                          maxLength: 100
                          description: >-
                            (string, optional) - street of the customer.
                            Optional, if not set as mandatory item in shop
                            settings.
                          examples:
                            - Main Street
                        houseNumber:
                          type:
                            - string
                            - 'null'
                          maxLength: 16
                          description: >-
                            street number. Optional, if not set as mandatory
                            item in shop settings.
                          examples:
                            - '123'
                        city:
                          type:
                            - string
                            - 'null'
                          maxLength: 100
                          description: >-
                            City/Town. Optional, if not set as mandatory item in
                            shop settings.
                          examples:
                            - Flat Country
                        district:
                          type:
                            - string
                            - 'null'
                          maxLength: 64
                          description: >-
                            County. Optional, if not set as mandatory item in
                            shop settings.
                          examples:
                            - Bohemia
                        additional:
                          type:
                            - string
                            - 'null'
                          maxLength: 64
                          description: Additional information for the address. Optional.
                          examples:
                            - 3rd floor
                        zip:
                          type:
                            - string
                            - 'null'
                          maxLength: 100
                          description: >-
                            ZIP or postal code. Optional, if not set as
                            mandatory item in shop settings.
                          examples:
                            - 123 00
                        countryCode:
                          type: string
                          minLength: 1
                          description: >-
                            (string, optional) - country of the customer.
                            Optional, the default delivery country is used as
                            the default value, taken from eshop settings.
                          examples:
                            - CZ
                        regionName:
                          type:
                            - string
                            - 'null'
                          minLength: 1
                          maxLength: 128
                          description: region. Optional.
                          examples:
                            - Central Bohemia
                        regionShortcut:
                          type:
                            - string
                            - 'null'
                          minLength: 1
                          maxLength: 16
                          description: region abbreviation. Optional.
                          examples:
                            - SC
                        companyId:
                          type:
                            - string
                            - 'null'
                          minLength: 1
                          maxLength: 18
                          description: >-
                            Company registration number of the customer, if
                            purchasing as a company. Optional.
                          examples:
                            - '123456'
                        vatId:
                          type:
                            - string
                            - 'null'
                          minLength: 1
                          maxLength: 16
                          description: >-
                            VAT identification number of the customer, if
                            purchasing on the company.
                          examples:
                            - CZ123456
                        taxId:
                          type:
                            - string
                            - 'null'
                          minLength: 1
                          maxLength: 16
                          description: >-
                            TAX identification number of the customer, if
                            purchasing on the company. For Czech address, taxId
                            must be the same as vatId, or left empty. Optional.
                          examples:
                            - CZ123456
                    deliveryAddress:
                      type:
                        - object
                        - 'null'
                      additionalProperties: false
                      properties:
                        company:
                          type:
                            - string
                            - 'null'
                          maxLength: 255
                          description: >-
                            company name. Optional, if not set as mandatory item
                            in shop settings.
                          examples:
                            - Smith & Smith
                        fullName:
                          type:
                            - string
                            - 'null'
                          maxLength: 64
                          description: >-
                            customer name. Optional, if not set as mandatory
                            item in shop settings.
                          examples:
                            - John Doe
                        street:
                          type:
                            - string
                            - 'null'
                          maxLength: 100
                          description: >-
                            (string, optional) - street for delivery. Optional,
                            if not set as mandatory item in shop settings.
                          examples:
                            - Main Street
                        houseNumber:
                          type:
                            - string
                            - 'null'
                          maxLength: 16
                          description: >-
                            street number. Optional, if not set as mandatory
                            item in shop settings.
                          examples:
                            - '123'
                        city:
                          type:
                            - string
                            - 'null'
                          maxLength: 100
                          description: >-
                            City/Town. Optional, if not set as mandatory item in
                            shop settings.
                          examples:
                            - Flat Country
                        district:
                          type:
                            - string
                            - 'null'
                          maxLength: 64
                          description: >-
                            County. Optional, if not set as mandatory item in
                            shop settings.
                          examples:
                            - Bohemia
                        additional:
                          type:
                            - string
                            - 'null'
                          maxLength: 64
                          description: Additional information for the address. Optional.
                          examples:
                            - 3rd floor
                        zip:
                          type:
                            - string
                            - 'null'
                          maxLength: 100
                          description: >-
                            ZIP or postal code. Optional, if not set as
                            mandatory item in shop settings.
                          examples:
                            - 123 00
                        countryCode:
                          type: string
                          minLength: 1
                          description: >-
                            country of the customer. Optional, the default
                            delivery country is used as the default value, taken
                            from eshop settings.
                          examples:
                            - CZ
                        regionName:
                          type:
                            - string
                            - 'null'
                          maxLength: 128
                          description: region. Optional.
                          examples:
                            - Central Bohemia
                        regionShortcut:
                          type:
                            - string
                            - 'null'
                          maxLength: 16
                          description: region abbreviation. Optional.
                          examples:
                            - SC
  /api/orders/{code}/item:
    post:
      responses:
        '201':
          description: Created
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    additionalProperties: false
                    required:
                      - order
                    properties:
                      order:
                        type: object
                        additionalProperties: false
                        required:
                          - code
                          - guid
                          - externalCode
                          - creationTime
                          - changeTime
                          - email
                          - phone
                          - clientIPAddress
                          - customerGuid
                          - vatPayer
                          - cashDeskOrder
                          - stockId
                          - addressesEqual
                          - billingMethod
                          - paymentMethod
                          - shipping
                          - adminUrl
                          - status
                          - price
                          - paid
                          - billingAddress
                          - deliveryAddress
                          - items
                        properties:
                          code:
                            type: string
                            description: >-
                              order number. Caution! This does not have to be
                              just a number, it can also contain letters, a
                              dash, etc.
                            examples:
                              - '2017000092'
                          guid:
                            type: string
                            description: >-
                              global unique permanent order identifier (can be
                              `null` for old orders)
                            examples:
                              - c5012051-d7ca-11e0-9a5c-feab5ed617ed
                          externalCode:
                            type:
                              - string
                              - 'null'
                            description: >-
                              Identification of the order in external system (or
                              `null`).
                            examples:
                              - '1234'
                          creationTime:
                            $ref: '#/components/schemas/typeDateTime'
                            description: >-
                              date and time, when the order was created. ISO
                              8601 format.
                          changeTime:
                            type:
                              - string
                              - 'null'
                            $ref: '#/components/schemas/typeDateTime'
                            description: >-
                              date and time of the order's last change. ISO 8601
                              format.
                          email:
                            type:
                              - string
                              - 'null'
                            description: purchaser e-mail (can be `null`)
                            examples:
                              - customer@someemail.com
                          phone:
                            type:
                              - string
                              - 'null'
                            description: purchaser phone number (can be `null`)
                            examples:
                              - '+420604600444'
                          birthDate:
                            type:
                              - string
                              - 'null'
                            description: customer's date of birth stated in the order
                            examples:
                              - '1980-01-01'
                          clientIPAddress:
                            type:
                              - string
                              - 'null'
                            description: IP address of the client who made the order
                            examples:
                              - 213.46.237.24
                          customerGuid:
                            type:
                              - string
                              - 'null'
                            $ref: '#/components/schemas/typeGuidUnlimited'
                            description: >-
                              customer identifier, if the customer is registered
                              in the e-shop (can be `null`)
                          cashDeskOrder:
                            type: boolean
                            description: >-
                              flag, whether the order is from the cash desk (as
                              opposed to the e-shop)
                            examples:
                              - true
                          stockId:
                            type: number
                            description: >-
                              identifier of the stock, from which the order was
                              taken
                            examples:
                              - 1
                          addressesEqual:
                            type: boolean
                            description: >-
                              flag, whether the delivery address is the same as
                              the invoicing address
                            examples:
                              - true
                          vatPayer:
                            type: boolean
                            description: >-
                              Is the tradesman a VAT payer, when purchasing?
                              (can be `null`, if this is unknown)
                            examples:
                              - true
                          vatMode:
                            type:
                              - string
                              - 'null'
                            description: >-
                              VAT mode, for possible values see [VAT
                              modes](#section/code-lists/VAT-modes)
                            examples:
                              - Normal
                          billingMethod:
                            type:
                              - object
                              - 'null'
                            $ref: '#/components/schemas/billingMethod'
                          paymentMethod:
                            type:
                              - object
                              - 'null'
                            $ref: '#/components/schemas/paymentMethod'
                          shipping:
                            type:
                              - object
                              - 'null'
                            $ref: '#/components/schemas/shipping'
                          shippingDetails:
                            type:
                              - object
                              - 'null'
                            additionalProperties: false
                            required:
                              - branchId
                              - shippingCompanyCode
                              - name
                              - note
                              - place
                              - street
                              - city
                              - zipCode
                              - countryCode
                              - link
                              - latitude
                              - longitude
                              - carrierId
                            properties:
                              branchId:
                                type:
                                  - string
                                  - 'null'
                                description: branch identifier
                                examples:
                                  - '4'
                              shippingCompanyCode:
                                type:
                                  - string
                                  - 'null'
                                description: identification of the carrier
                                examples:
                                  - zasilkovna
                              shippingServiceCode:
                                type:
                                  - string
                                  - 'null'
                                description: identification of the carrier's service
                                examples:
                                  - zasilkovna-pickup
                              name:
                                type:
                                  - string
                                  - 'null'
                                description: name of the branch
                                examples:
                                  - Hradec Králové, Square of 5th May 888
                              note:
                                type:
                                  - string
                                  - 'null'
                                description: branch location note, can contain HTML
                                examples:
                                  - >-
                                    <p>Open: Mon-Fri 8:00-18:00, Sat
                                    8:00-12:00</p>
                              place:
                                type:
                                  - string
                                  - 'null'
                                description: location (specify location within address).
                                examples:
                                  - Creator
                              street:
                                type:
                                  - string
                                  - 'null'
                                description: street
                                examples:
                                  - Square of 5th May 888
                              city:
                                type:
                                  - string
                                  - 'null'
                                description: city/town
                                examples:
                                  - Hradec Králové
                              zipCode:
                                type:
                                  - string
                                  - 'null'
                                description: ZIP or postal code
                                examples:
                                  - '50002'
                              countryCode:
                                type:
                                  - string
                                  - 'null'
                                description: country code
                                examples:
                                  - CZ
                              link:
                                type:
                                  - string
                                  - 'null'
                                description: link to the branch's website
                                examples:
                                  - >-
                                    https://www.ulozenka.cz/pobocky/4/hradec-kralove-nam-5-kvetna-888
                              latitude:
                                type:
                                  - string
                                  - 'null'
                                description: GPS coordinates - north latitude
                                examples:
                                  - '50.213673'
                              longitude:
                                type:
                                  - string
                                  - 'null'
                                description: GPS coordinates - east longitude
                                examples:
                                  - '15.832775'
                              carrierId:
                                type:
                                  - integer
                                  - 'null'
                                description: >-
                                  identification of the carrier - now it's used
                                  for Zasilkovna only. The value is `null` for
                                  Czech Zasilkovna or carrier ID for Zasilkovna
                                  in the other countries.
                                examples:
                                  - 3060
                          adminUrl:
                            type: string
                            description: >-
                              URL to administration leading to order detail. URL
                              keeps the administration language settings.
                            examples:
                              - >-
                                https://www.domena-eshopu.cz/admin/objednavky-detail?id=2
                          status:
                            type:
                              - object
                              - 'null'
                            additionalProperties: false
                            required:
                              - name
                              - id
                            properties:
                              name:
                                type:
                                  - string
                                  - 'null'
                                description: status name
                                examples:
                                  - Processing
                              id:
                                type: number
                                description: status identifier
                                examples:
                                  - -1
                          source:
                            type:
                              - object
                              - 'null'
                            additionalProperties: false
                            required:
                              - name
                              - id
                            description: source of the order
                            properties:
                              name:
                                type:
                                  - string
                                  - 'null'
                                description: source name
                                examples:
                                  - E-Shop
                              id:
                                type: number
                                description: source identifier
                                examples:
                                  - -1
                          price:
                            $ref: '#/components/schemas/price'
                            description: price of the order
                          paid:
                            type:
                              - boolean
                              - 'null'
                            description: >-
                              flag, whether the order was paid. In addition to
                              `true` a `false`, can also be `null`, if the
                              payment status is unknown.
                            examples:
                              - true
                          billingAddress:
                            $ref: '#/components/schemas/billingAddress'
                          deliveryAddress:
                            oneOf:
                              - $ref: '#/components/schemas/address'
                              - type: 'null'
                          onlinePaymentLink:
                            type:
                              - string
                              - 'null'
                            description: URL to online payment
                            examples:
                              - >-
                                https://www.domena-eshopu.cz/api/pay/payu/redir?paymentCode=xyz123
                          language:
                            type: string
                            description: language code of the order
                            examples:
                              - cs
                          referer:
                            type:
                              - string
                              - 'null'
                            description: which page (url) has the user come from
                            examples:
                              - https://www.google.cz/
                          paymentMethods:
                            type: array
                            description: all order payment methods
                            items:
                              type: object
                              additionalProperties: false
                              required:
                                - paymentMethod
                                - itemId
                              properties:
                                paymentMethod:
                                  $ref: '#/components/schemas/paymentMethod'
                                itemId:
                                  type: number
                                  description: payment method identifier within order
                                  examples:
                                    - 564
                          shippings:
                            type: array
                            description: all order shippings
                            items:
                              type: object
                              additionalProperties: false
                              required:
                                - shipping
                                - itemId
                              properties:
                                shipping:
                                  type: object
                                  additionalProperties: false
                                  required:
                                    - guid
                                    - name
                                  description: transport method
                                  properties:
                                    guid:
                                      type:
                                        - string
                                        - 'null'
                                      $ref: '#/components/schemas/typeGuid'
                                      description: transport method identifier
                                    name:
                                      type: string
                                      description: description of transport method
                                      examples:
                                        - PPL
                                itemId:
                                  type: number
                                  description: transport method identifier within order
                                  examples:
                                    - 897
                          items:
                            type: array
                            description: all order items
                            items:
                              $ref: '#/components/schemas/orderItem'
                          notes:
                            type: object
                            additionalProperties: false
                            description: >-
                              order notes (only filled in on request if
                              `include=notes` is listed)
                            required:
                              - customerRemark
                              - eshopRemark
                              - trackingNumber
                              - trackingUrl
                              - additionalFields
                            properties:
                              customerRemark:
                                type:
                                  - string
                                  - 'null'
                                description: customer note
                                examples:
                                  - Better in green
                              eshopRemark:
                                type:
                                  - string
                                  - 'null'
                                description: e-shop order remark.
                                examples:
                                  - Gift wrapping
                              trackingNumber:
                                type:
                                  - string
                                  - 'null'
                                description: shipment number
                                examples:
                                  - DR123456
                              trackingUrl:
                                type:
                                  - string
                                  - 'null'
                                description: package trace link (can be `null`)
                                examples:
                                  - >-
                                    http://www.ppl.cz/main2.aspx?cls=Package&idSearch=DR123456
                              additionalFields:
                                type: array
                                description: >-
                                  can contain up to six additional fields, which
                                  can be freely used by e-shop for its
                                  individual needs.
                                items:
                                  type: object
                                  additionalProperties: false
                                  required:
                                    - index
                                    - label
                                    - text
                                  properties:
                                    index:
                                      type: integer
                                      description: sequence number
                                      examples:
                                        - 1
                                    label:
                                      type: string
                                      description: >-
                                        item name. The name of the field can be
                                        edited in the e-shop administration.
                                      examples:
                                        - 1st field
                                    text:
                                      type:
                                        - string
                                        - 'null'
                                      description: item value (can be `null`)
                                      examples:
                                        - forwarder ID
                  errors:
                    $ref: '#/components/schemas/Errors'
                required:
                  - data
                  - errors
                additionalProperties: false
        '403':
          description: Consumption tax module is not enabled
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    type: 'null'
                  errors:
                    $ref: '#/components/schemas/Errors'
              example:
                data: null
                errors:
                  - errorCode: missing-module
                    message: >-
                      It requires active consumptionTax module in eshop when
                      "consumptionTax" is present in order items data.
                    instance: consumptionTax
        '422':
          description: Consumption tax id not exists / not visible
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    type: 'null'
                  errors:
                    $ref: '#/components/schemas/Errors'
              example:
                data: null
                errors:
                  - errorCode: invalid-request-data
                    message: Consumption tax with id "4" not found.
                    instance: payload
                  - errorCode: invalid-request-data
                    message: Consumption tax with id "2" is not visible.
                    instance: payload
      summary: Order item add
      operationId: createOrderItem
      description: ''
      tags:
        - Orders
      parameters:
        - name: code
          in: path
          description: order code
          required: true
          example: '2018000012'
          schema:
            type: string
        - name: suppressProductChecking
          in: query
          description: suppress the product existence check as per `code` and GUID
          example: 'true'
          schema:
            type: string
            default: 'false'
        - name: suppressStockMovements
          in: query
          description: suppress deduction of the products from stock
          example: 'true'
          schema:
            type: string
            default: 'false'
        - $ref: '#/components/parameters/DefaultContentType'
      requestBody:
        content:
          application/vnd.shoptet.v1.0+json:
            schema:
              type: object
              required:
                - data
              properties:
                data:
                  type: object
                  minProperties: 1
                  additionalProperties: false
                  required:
                    - itemType
                  properties:
                    itemType:
                      type: string
                      minLength: 1
                      description: >-
                        item type. Mandatory field. See also code list [order
                        item types](#section/code-lists/Types-of-order-items).
                        Only `product`, `product-set`, `service` or
                        `discount-coupon` item type is allowed.
                      examples:
                        - product
                    code:
                      type: string
                      minLength: 1
                      maxLength: 64
                      description: >-
                        Item code. For transportation, payment and discounts the
                        (`discount-coupon` and `volume-discount`) must remain
                        `null`, for the other types of items, this is mandatory.
                      examples:
                        - 179/B
                    vatRate:
                      type: string
                      description: VAT rate (`0.00` for VAT non-payers). Mandatory.
                      examples:
                        - '21.00'
                    itemPriceWithVat:
                      type: string
                      description: >-
                        Item price, including VAT. Optional. Price including tax
                        and price excluding tax cannot be combined.
                      examples:
                        - '121.00'
                    itemPriceWithoutVat:
                      type: string
                      description: >-
                        Item price, excluding VAT. Optional. Price including tax
                        and price excluding tax cannot be combined.
                      examples:
                        - '100.00'
                    buyPriceWithVat:
                      type: string
                      description: >-
                        Purchase price, including VAT. Optional. Price including
                        tax and price excluding tax cannot be combined. This is
                        used for profit margin calculation and statistics.
                      examples:
                        - '121.00'
                    buyPriceWithoutVat:
                      type: string
                      description: >-
                        Purchase price, excluding VAT. Optional. Price including
                        tax and price excluding tax cannot be combined. This is
                        used for profit margin calculation and statistics.
                      examples:
                        - '100.00'
                    buyPriceVatRate:
                      type: string
                      description: VAT rate for purchase price. Optional.
                      examples:
                        - '21.00'
                    name:
                      type: string
                      minLength: 1
                      maxLength: 250
                      description: >-
                        Product name (optional, but usually filled in).
                        Mandatory only for discount-coupon, transport and
                        payment, for other items, it is loaded according to
                        `code`.
                      examples:
                        - Large chocolate
                    variantName:
                      type:
                        - string
                        - 'null'
                      minLength: 1
                      maxLength: 128
                      description: Variant name. Optional.
                      examples:
                        - 'Type: walnut'
                    brand:
                      type:
                        - string
                        - 'null'
                      minLength: 1
                      maxLength: 64
                      description: brand (manufacturer). Optional.
                      examples:
                        - Willy Wonka
                    supplierName:
                      type:
                        - string
                        - 'null'
                      minLength: 1
                      maxLength: 255
                      description: supplier. Optional.
                      examples:
                        - Dodavatel s.r.o.
                    productGuid:
                      type:
                        - string
                        - 'null'
                      $ref: '#/components/schemas/typeGuid'
                      minLength: 1
                      description: >-
                        Product GUID in item. When used with the
                        `?suppressProductChecking=true` parameter, this field
                        has no influence.
                    remark:
                      type:
                        - string
                        - 'null'
                      minLength: 1
                      description: With cubicles
                      examples:
                        - This is a gift for my friend.
                    warrantyDescription:
                      type:
                        - string
                        - 'null'
                      minLength: 1
                      maxLength: 255
                      description: textual description of warranty length (can be `null`)
                      examples:
                        - 2 years
                    amountCompleted:
                      $ref: '#/components/schemas/typePositiveAmount'
                      description: quantity of completed product
                    additionalField:
                      type:
                        - string
                        - 'null'
                      minLength: 1
                      maxLength: 255
                      description: >-
                        additional information. Used for transport to specify
                        the branch.
                      examples:
                        - >-
                          TO BALÍKOVNA, Karlínské náměstí 145/1, Karlín, 18600,
                          Prague
                    amount:
                      type: string
                      pattern: ^[0-9]+\.?[0-9]{0,3}$
                      description: >-
                        amount, 3 decimal places accuracy, optional, default
                        value `1.000`.
                      examples:
                        - '1.000'
                    amountUnit:
                      type: string
                      minLength: 1
                      maxLength: 16
                      description: unit of quantity (optional)
                      examples:
                        - ks
                    weight:
                      type: string
                      description: >-
                        product weight in kilograms. Maximum 3 decimal places,
                        and maximum value of 99999.
                      examples:
                        - '100'
                    priceRatio:
                      type: string
                      description: >-
                        discount in the form of coefficient (0.7 = 70 % of the
                        original price, i.e. 30 % discount). Optional, default
                        value is `1.0000`
                      examples:
                        - '0.7000'
                    recyclingFeeId:
                      type:
                        - integer
                        - 'null'
                      description: Product recycling fee id, replacement for `recyclingFee`
                      examples:
                        - 1
                    statusId:
                      type: number
                      description: >-
                        Order item status. Optional, if not indicated, default
                        value is guided by the order status. If the order status
                        was indicated and this status has the `Change status of
                        items in the order` flag set, then the item will have
                        this status. Otherwise the default status of the e-shop
                        is used.
                      examples:
                        - -1
                    surchargeParameters:
                      type: array
                      items:
                        type: object
                        additionalProperties: false
                        required:
                          - parameterCode
                          - valueIndex
                        properties:
                          parameterCode:
                            type: string
                            minLength: 1
                            examples:
                              - pp-1
                          valueIndex:
                            type: string
                            minLength: 1
                            examples:
                              - hodnota-01
                          price:
                            type: string
                            $ref: '#/components/schemas/typePrice'
                            description: >-
                              custom price for surcharge parameter, price is in
                              currency of order. Optional. If attribute price is
                              not present, then price from surcharge parameter
                              itself is used.
                            examples:
                              - '123.43'
                    consumptionTaxId:
                      $ref: '#/components/schemas/consumptionTaxId'
  /api/orders/{code}/item/{id}:
    patch:
      responses:
        '200':
          description: OK
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    required:
                      - orderItem
                    additionalProperties: false
                    properties:
                      orderItem:
                        $ref: '#/components/schemas/orderItem'
                  errors:
                    $ref: '#/components/schemas/Errors'
                required:
                  - data
                  - errors
                additionalProperties: false
        '403':
          description: Consumption tax module is not enabled
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    type: 'null'
                  errors:
                    $ref: '#/components/schemas/Errors'
              example:
                data: null
                errors:
                  - errorCode: missing-module
                    message: >-
                      It requires active consumptionTax module in eshop when
                      "consumptionTax" is present in order items data.
                    instance: consumptionTax
        '404':
          description: Currency not found
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    type: 'null'
                  errors:
                    $ref: '#/components/schemas/Errors'
              example:
                data: null
                errors:
                  - errorCode: currency-not-found
                    message: Currency code "BHJ" not found.
                    instance: data.currency
        '422':
          description: Unprocessable Entity
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    type: 'null'
                  errors:
                    $ref: '#/components/schemas/Errors'
              example:
                data: null
                errors:
                  - errorCode: invalid-request-data
                    message: >-
                      You can send consumptionTaxId or consumptionTax, but not
                      both!
                    instance: integration-call
                  - errorCode: invalid-request-data
                    message: Consumption tax with id "4" not found.
                    instance: payload
                  - errorCode: invalid-request-data
                    message: Consumption tax with id "2" is not visible.
                    instance: payload
                  - errorCode: invalid-order-item-type-change
                    message: >-
                      The item type cannot be changed. Changing the type from
                      "product" to "discount-coupon" is not allowed.
                    instance: data.itemType
      summary: Order item change
      operationId: updateOrderItem
      description: ''
      tags:
        - Orders
      parameters:
        - name: code
          in: path
          description: order code (number)
          required: true
          example: '2018000012'
          schema:
            type: string
        - name: id
          in: path
          description: |-
            order item id. Can be found in field `data.order.items.itemId` in
            Order detail.  (number)
          required: true
          example: '198'
          schema:
            type: string
        - name: suppressProductGuidCheck
          in: query
          description: suppress the product existence check per GUID
          example: true
          schema:
            type: string
            default: false
        - $ref: '#/components/parameters/DefaultContentType'
      requestBody:
        content:
          application/vnd.shoptet.v1.0+json:
            schema:
              type: object
              required:
                - data
              properties:
                data:
                  type: object
                  minProperties: 1
                  additionalProperties: false
                  required:
                    - itemType
                  properties:
                    itemType:
                      type: string
                      minLength: 1
                      description: >-
                        item type. Mandatory field. See also code list [order
                        item types](#section/code-lists/Types-of-order-items).
                        Only `product`, `product-set`, `service` or
                        `discount-coupon` item type is allowed.
                      examples:
                        - product
                    code:
                      type: string
                      minLength: 1
                      maxLength: 64
                      description: >-
                        Item code. For transportation, payment and discounts the
                        (`discount-coupon` and `volume-discount`) must remain
                        `null`, for the other types of items, this is mandatory.
                      examples:
                        - 179/B
                    vatRate:
                      type: string
                      description: VAT rate (`0.00` for VAT non-payers). Mandatory.
                      examples:
                        - '21.00'
                    itemPriceWithVat:
                      type: string
                      description: >-
                        Item price, including VAT. Optional. Price including tax
                        and price excluding tax cannot be combined.
                      examples:
                        - '121.00'
                    itemPriceWithoutVat:
                      type: string
                      description: >-
                        Item price, excluding VAT. Optional. Price including tax
                        and price excluding tax cannot be combined.
                      examples:
                        - '100.00'
                    buyPriceWithVat:
                      type: string
                      description: >-
                        Purchase price, including VAT. Optional. Price including
                        tax and price excluding tax cannot be combined. This is
                        used for profit margin calculation and statistics.
                      examples:
                        - '121.00'
                    buyPriceWithoutVat:
                      type: string
                      description: >-
                        Purchase price, excluding VAT. Optional. Price including
                        tax and price excluding tax cannot be combined. This is
                        used for profit margin calculation and statistics.
                      examples:
                        - '100.00'
                    buyPriceVatRate:
                      type: string
                      description: VAT rate for purchase price. Optional.
                      examples:
                        - '21.00'
                    name:
                      type: string
                      minLength: 1
                      maxLength: 250
                      description: >-
                        Product name (optional, but usually filled in).
                        Mandatory only for transport and payment, for other
                        items, it is loaded according to `code`.
                      examples:
                        - Large chocolate
                    variantName:
                      type:
                        - string
                        - 'null'
                      minLength: 1
                      maxLength: 128
                      description: Variant name. Optional.
                      examples:
                        - 'Type: walnut'
                    brand:
                      type:
                        - string
                        - 'null'
                      minLength: 1
                      maxLength: 64
                      description: brand (manufacturer). Optional.
                      examples:
                        - Willy Wonka
                    supplierName:
                      type:
                        - string
                        - 'null'
                      minLength: 1
                      maxLength: 255
                      description: supplier. Optional.
                      examples:
                        - Dodavatel s.r.o.
                    productGuid:
                      type:
                        - string
                        - 'null'
                      $ref: '#/components/schemas/typeGuid'
                      minLength: 1
                      description: >-
                        Product GUID in item. When used with the
                        `?suppressProductChecking=true` parameter, this field
                        has no influence.
                    remark:
                      type:
                        - string
                        - 'null'
                      minLength: 1
                      description: With cubicles
                      examples:
                        - This is a gift for my friend.
                    warrantyDescription:
                      type:
                        - string
                        - 'null'
                      minLength: 1
                      maxLength: 255
                      description: textual description of warranty length (can be `null`)
                      examples:
                        - 2 years
                    amountCompleted:
                      $ref: '#/components/schemas/typePositiveAmount'
                      description: quantity of completed product
                    additionalField:
                      type:
                        - string
                        - 'null'
                      minLength: 1
                      maxLength: 255
                      description: >-
                        additional information. Used for transport to specify
                        the branch.
                      examples:
                        - >-
                          TO BALÍKOVNA, Karlínské náměstí 145/1, Karlín, 18600,
                          Prague
                    amount:
                      type: string
                      pattern: ^[0-9]+\.?[0-9]{0,3}$
                      description: >-
                        amount, 3 decimal places accuracy, optional, default
                        value `1.000`.
                      examples:
                        - '1.000'
                    amountUnit:
                      type: string
                      minLength: 1
                      maxLength: 16
                      description: unit of quantity (optional)
                      examples:
                        - ks
                    weight:
                      type: string
                      description: >-
                        product weight in kilograms. Maximum 3 decimal places,
                        and maximum value of 99999.
                      examples:
                        - '100'
                    priceRatio:
                      type: string
                      description: >-
                        discount in the form of coefficient (0.7 = 70 % of the
                        original price, i.e. 30 % discount). Optional, default
                        value is `1.0000`
                      examples:
                        - '0.7000'
                    recyclingFeeId:
                      type:
                        - integer
                        - 'null'
                      description: Product recycling fee id, replacement for `recyclingFee`
                      examples:
                        - 1
                    statusId:
                      type: number
                      description: >-
                        Order item status. Optional, if not indicated, default
                        value is guided by the order status. If the order status
                        was indicated and this status has the `Change status of
                        items in the order` flag set, then the item will have
                        this status. Otherwise the default status of the e-shop
                        is used.
                      examples:
                        - -1
                    consumptionTaxId:
                      description: >-
                        consumption tax, cannot be used together with
                        `consumptionTax`. You can send this parameter, only if
                        consumption tax module is enabled.
                      type:
                        - integer
                        - 'null'
                      $ref: '#/components/schemas/consumptionTaxId'
                    consumptionTax:
                      type:
                        - object
                        - 'null'
                      description: >-
                        consumption tax with custom value, cannot be used
                        together with `consumptionTaxId`. You can send this
                        parameter, only if consumption tax module is enabled.
                      additionalProperties: false
                      required:
                        - currency
                        - price
                      properties:
                        currency:
                          $ref: '#/components/schemas/typeCurrencyCode'
                        price:
                          $ref: '#/components/schemas/typePrice'
                          description: consumption tax value
    delete:
      responses:
        '200':
          description: OK
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    type: 'null'
                  errors:
                    $ref: '#/components/schemas/Errors'
                required:
                  - data
                  - errors
                additionalProperties: false
      summary: Order item delete
      operationId: deleteOrderItem
      description: ''
      tags:
        - Orders
      parameters:
        - name: code
          in: path
          description: order code (number)
          required: true
          example: '2018000012'
          schema:
            type: string
        - name: id
          in: path
          description: |-
            order item id. Can be found in field `data.order.items.itemId` in
            Order detail. (number)
          required: true
          example: '198'
          schema:
            type: string
        - $ref: '#/components/parameters/DefaultContentType'
  /api/orders/{code}/item/{id}/surcharge-parameters:
    post:
      responses:
        '200':
          description: OK
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    additionalProperties: false
                    required:
                      - order
                    properties:
                      order:
                        type: object
                        additionalProperties: false
                        required:
                          - code
                          - guid
                          - externalCode
                          - creationTime
                          - changeTime
                          - email
                          - phone
                          - clientIPAddress
                          - customerGuid
                          - vatPayer
                          - cashDeskOrder
                          - stockId
                          - addressesEqual
                          - billingMethod
                          - paymentMethod
                          - shipping
                          - adminUrl
                          - status
                          - price
                          - paid
                          - billingAddress
                          - deliveryAddress
                          - items
                        properties:
                          code:
                            type: string
                            description: >-
                              order number. Caution! This does not have to be
                              just a number, it can also contain letters, a
                              dash, etc.
                            examples:
                              - '2017000092'
                          guid:
                            type: string
                            description: >-
                              global unique permanent order identifier (can be
                              `null` for old orders)
                            examples:
                              - c5012051-d7ca-11e0-9a5c-feab5ed617ed
                          externalCode:
                            type:
                              - string
                              - 'null'
                            description: >-
                              Identification of the order in external system (or
                              `null`).
                            examples:
                              - '1234'
                          creationTime:
                            $ref: '#/components/schemas/typeDateTime'
                            description: >-
                              date and time, when the order was created. ISO
                              8601 format.
                          changeTime:
                            type:
                              - string
                              - 'null'
                            $ref: '#/components/schemas/typeDateTime'
                            description: >-
                              date and time of the order's last change. ISO 8601
                              format.
                          email:
                            type:
                              - string
                              - 'null'
                            description: purchaser e-mail (can be `null`)
                            examples:
                              - customer@someemail.com
                          phone:
                            type:
                              - string
                              - 'null'
                            description: purchaser phone number (can be `null`)
                            examples:
                              - '+420604600444'
                          birthDate:
                            type:
                              - string
                              - 'null'
                            description: customer's date of birth stated in the order
                            examples:
                              - '1980-01-01'
                          clientIPAddress:
                            type:
                              - string
                              - 'null'
                            description: IP address of the client who made the order
                            examples:
                              - 213.46.237.24
                          customerGuid:
                            type:
                              - string
                              - 'null'
                            $ref: '#/components/schemas/typeGuidUnlimited'
                            description: >-
                              customer identifier, if the customer is registered
                              in the e-shop (can be `null`)
                          cashDeskOrder:
                            type: boolean
                            description: >-
                              flag, whether the order is from the cash desk (as
                              opposed to the e-shop)
                            examples:
                              - true
                          stockId:
                            type: number
                            description: >-
                              identifier of the stock, from which the order was
                              taken
                            examples:
                              - 1
                          addressesEqual:
                            type: boolean
                            description: >-
                              flag, whether the delivery address is the same as
                              the invoicing address
                            examples:
                              - true
                          vatPayer:
                            type: boolean
                            description: >-
                              Is the tradesman a VAT payer, when purchasing?
                              (can be `null`, if this is unknown)
                            examples:
                              - true
                          vatMode:
                            type:
                              - string
                              - 'null'
                            description: >-
                              VAT mode, for possible values see [VAT
                              modes](#section/code-lists/VAT-modes)
                            examples:
                              - Normal
                          billingMethod:
                            type:
                              - object
                              - 'null'
                            $ref: '#/components/schemas/billingMethod'
                          paymentMethod:
                            type:
                              - object
                              - 'null'
                            $ref: '#/components/schemas/paymentMethod'
                          shipping:
                            type:
                              - object
                              - 'null'
                            $ref: '#/components/schemas/shipping'
                          shippingDetails:
                            type:
                              - object
                              - 'null'
                            additionalProperties: false
                            required:
                              - branchId
                              - shippingCompanyCode
                              - name
                              - note
                              - place
                              - street
                              - city
                              - zipCode
                              - countryCode
                              - link
                              - latitude
                              - longitude
                              - carrierId
                            properties:
                              branchId:
                                type:
                                  - string
                                  - 'null'
                                description: branch identifier
                                examples:
                                  - '4'
                              shippingCompanyCode:
                                type:
                                  - string
                                  - 'null'
                                description: identification of the carrier
                                examples:
                                  - zasilkovna
                              shippingServiceCode:
                                type:
                                  - string
                                  - 'null'
                                description: identification of the carrier's service
                                examples:
                                  - zasilkovna-pickup
                              name:
                                type:
                                  - string
                                  - 'null'
                                description: name of the branch
                                examples:
                                  - Hradec Králové, Square of 5th May 888
                              note:
                                type:
                                  - string
                                  - 'null'
                                description: branch location note, can contain HTML
                                examples:
                                  - >-
                                    <p>Open: Mon-Fri 8:00-18:00, Sat
                                    8:00-12:00</p>
                              place:
                                type:
                                  - string
                                  - 'null'
                                description: location (specify location within address).
                                examples:
                                  - Creator
                              street:
                                type:
                                  - string
                                  - 'null'
                                description: street
                                examples:
                                  - Square of 5th May 888
                              city:
                                type:
                                  - string
                                  - 'null'
                                description: city/town
                                examples:
                                  - Hradec Králové
                              zipCode:
                                type:
                                  - string
                                  - 'null'
                                description: ZIP or postal code
                                examples:
                                  - '50002'
                              countryCode:
                                type:
                                  - string
                                  - 'null'
                                description: country code
                                examples:
                                  - CZ
                              link:
                                type:
                                  - string
                                  - 'null'
                                description: link to the branch's website
                                examples:
                                  - >-
                                    https://www.ulozenka.cz/pobocky/4/hradec-kralove-nam-5-kvetna-888
                              latitude:
                                type:
                                  - string
                                  - 'null'
                                description: GPS coordinates - north latitude
                                examples:
                                  - '50.213673'
                              longitude:
                                type:
                                  - string
                                  - 'null'
                                description: GPS coordinates - east longitude
                                examples:
                                  - '15.832775'
                              carrierId:
                                type:
                                  - integer
                                  - 'null'
                                description: >-
                                  identification of the carrier - now it's used
                                  for Zasilkovna only. The value is `null` for
                                  Czech Zasilkovna or carrier ID for Zasilkovna
                                  in the other countries.
                                examples:
                                  - 3060
                          adminUrl:
                            type: string
                            description: >-
                              URL to administration leading to order detail. URL
                              keeps the administration language settings.
                            examples:
                              - >-
                                https://www.domena-eshopu.cz/admin/objednavky-detail?id=2
                          status:
                            type:
                              - object
                              - 'null'
                            additionalProperties: false
                            required:
                              - name
                              - id
                            properties:
                              name:
                                type:
                                  - string
                                  - 'null'
                                description: status name
                                examples:
                                  - Processing
                              id:
                                type: number
                                description: status identifier
                                examples:
                                  - -1
                          source:
                            type:
                              - object
                              - 'null'
                            additionalProperties: false
                            required:
                              - name
                              - id
                            description: source of the order
                            properties:
                              name:
                                type:
                                  - string
                                  - 'null'
                                description: source name
                                examples:
                                  - E-Shop
                              id:
                                type: number
                                description: source identifier
                                examples:
                                  - -1
                          price:
                            $ref: '#/components/schemas/price'
                            description: price of the order
                          paid:
                            type:
                              - boolean
                              - 'null'
                            description: >-
                              flag, whether the order was paid. In addition to
                              `true` a `false`, can also be `null`, if the
                              payment status is unknown.
                            examples:
                              - true
                          billingAddress:
                            $ref: '#/components/schemas/billingAddress'
                          deliveryAddress:
                            oneOf:
                              - $ref: '#/components/schemas/address'
                              - type: 'null'
                          onlinePaymentLink:
                            type:
                              - string
                              - 'null'
                            description: URL to online payment
                            examples:
                              - >-
                                https://www.domena-eshopu.cz/api/pay/payu/redir?paymentCode=xyz123
                          language:
                            type: string
                            description: language code of the order
                            examples:
                              - cs
                          referer:
                            type:
                              - string
                              - 'null'
                            description: which page (url) has the user come from
                            examples:
                              - https://www.google.cz/
                          paymentMethods:
                            type: array
                            description: all order payment methods
                            items:
                              type: object
                              additionalProperties: false
                              required:
                                - paymentMethod
                                - itemId
                              properties:
                                paymentMethod:
                                  $ref: '#/components/schemas/paymentMethod'
                                itemId:
                                  type: number
                                  description: payment method identifier within order
                                  examples:
                                    - 564
                          shippings:
                            type: array
                            description: all order shippings
                            items:
                              type: object
                              additionalProperties: false
                              required:
                                - shipping
                                - itemId
                              properties:
                                shipping:
                                  type: object
                                  additionalProperties: false
                                  required:
                                    - guid
                                    - name
                                  description: transport method
                                  properties:
                                    guid:
                                      type:
                                        - string
                                        - 'null'
                                      $ref: '#/components/schemas/typeGuid'
                                      description: transport method identifier
                                    name:
                                      type: string
                                      description: description of transport method
                                      examples:
                                        - PPL
                                itemId:
                                  type: number
                                  description: transport method identifier within order
                                  examples:
                                    - 897
                          items:
                            type: array
                            description: all order items
                            items:
                              $ref: '#/components/schemas/orderItem'
                          notes:
                            type: object
                            additionalProperties: false
                            description: >-
                              order notes (only filled in on request if
                              `include=notes` is listed)
                            required:
                              - customerRemark
                              - eshopRemark
                              - trackingNumber
                              - trackingUrl
                              - additionalFields
                            properties:
                              customerRemark:
                                type:
                                  - string
                                  - 'null'
                                description: customer note
                                examples:
                                  - Better in green
                              eshopRemark:
                                type:
                                  - string
                                  - 'null'
                                description: e-shop order remark.
                                examples:
                                  - Gift wrapping
                              trackingNumber:
                                type:
                                  - string
                                  - 'null'
                                description: shipment number
                                examples:
                                  - DR123456
                              trackingUrl:
                                type:
                                  - string
                                  - 'null'
                                description: package trace link (can be `null`)
                                examples:
                                  - >-
                                    http://www.ppl.cz/main2.aspx?cls=Package&idSearch=DR123456
                              additionalFields:
                                type: array
                                description: >-
                                  can contain up to six additional fields, which
                                  can be freely used by e-shop for its
                                  individual needs.
                                items:
                                  type: object
                                  additionalProperties: false
                                  required:
                                    - index
                                    - label
                                    - text
                                  properties:
                                    index:
                                      type: integer
                                      description: sequence number
                                      examples:
                                        - 1
                                    label:
                                      type: string
                                      description: >-
                                        item name. The name of the field can be
                                        edited in the e-shop administration.
                                      examples:
                                        - 1st field
                                    text:
                                      type:
                                        - string
                                        - 'null'
                                      description: item value (can be `null`)
                                      examples:
                                        - forwarder ID
                  errors:
                    $ref: '#/components/schemas/Errors'
                required:
                  - data
                  - errors
                additionalProperties: false
      summary: Order item surcharge parameters insertion
      operationId: createOrderItemSurchargeParameters
      description: >-
        There is possibility to edit surcharge parameters related to order item.
        For that purpose, there is in

        get order item detail endpoint attribute `specificSurchargeParameters`
        which returned adjusted surcharge 

        parameters data (see order item detail
        [endpoint](#tag/orders/getorderdetail))



        This mean that `surchargeParameters` attribute in order detail is
        persistent and any adjustment in 

        surcharge parameters appears in `specificSurchargeParameters`



        This endpoint purpose is to add surcharge parameter in relation within

        order item.


        You have to send one of attributes `parameterCode` with `valueIndex` or

        `name`. Cant send this attributes together.


        If you post `parameterCode` and `valueIndex`, there will be validation,

        if surcharge parameter exits and if can be related


        to order item's product and price (if not send) will be added from

        surcharge parameter itself.



        Otherwise you can send attribute `name` instead, which could have any

        form, but has to be unique. If price is not send,


        than it will be set to `0.00`.
      tags:
        - Orders
      parameters:
        - name: code
          in: path
          description: order code
          required: true
          example: '2018000012'
          schema:
            type: string
        - name: id
          in: path
          description: order item id
          required: true
          example: '3120'
          schema:
            type: number
        - $ref: '#/components/parameters/DefaultContentType'
      requestBody:
        content:
          application/vnd.shoptet.v1.0+json:
            schema:
              type: object
              required:
                - data
              properties:
                data:
                  oneOf:
                    - type: object
                      additionalProperties: false
                      required:
                        - parameterCode
                        - valueIndex
                      properties:
                        parameterCode:
                          type: string
                          description: Code of the parameter
                          examples:
                            - pp-1
                        valueIndex:
                          type: string
                          description: Index of the value
                          examples:
                            - hodnota-01
                        price:
                          type: string
                          $ref: '#/components/schemas/typePrice'
                          description: >-
                            custom price for surcharge parameter, price is in
                            currency of order. Optional. If attribute price is
                            not present, then price from surcharge parameter
                            itself is used.
                    - type: object
                      additionalProperties: false
                      required:
                        - name
                      properties:
                        name:
                          type: string
                          examples:
                            - special parameter 1
                        price:
                          type: string
                          $ref: '#/components/schemas/typePrice'
                          description: >-
                            custom price for surcharge parameter, price is in
                            currency of order. Optional. If attribute price is
                            not present, then price from surcharge parameter
                            itself is used.
  /api/orders/{code}/item/{id}/surcharge-parameters/{relationId}:
    delete:
      responses:
        '200':
          description: OK
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    type: 'null'
                    additionalProperties: false
                  errors:
                    $ref: '#/components/schemas/Errors'
                required:
                  - data
                  - errors
                additionalProperties: false
      summary: Order item surcharge parameters deletion
      operationId: deleteOrderItemSurchargeParameters
      description: |-
        You have to provide dynamically generated `relationId` which identify
        which surcharge parameter related to order item you want to delete.
      tags:
        - Orders
      parameters:
        - name: code
          in: path
          description: order code
          required: true
          example: '2018000012'
          schema:
            type: string
        - name: id
          in: path
          description: order item id
          required: true
          example: '3120'
          schema:
            type: number
        - name: relationId
          in: path
          description: |-
            key to identify, which surcharge parameter in relation to order
            item, should be delete
          required: true
          example: '04e876'
          schema:
            type: string
        - $ref: '#/components/parameters/DefaultContentType'
  /api/orders/{code}/payment:
    post:
      responses:
        '201':
          description: Created
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    additionalProperties: false
                    required:
                      - order
                    properties:
                      order:
                        type: object
                        additionalProperties: false
                        required:
                          - code
                          - guid
                          - externalCode
                          - creationTime
                          - changeTime
                          - email
                          - phone
                          - clientIPAddress
                          - customerGuid
                          - vatPayer
                          - cashDeskOrder
                          - stockId
                          - addressesEqual
                          - billingMethod
                          - paymentMethod
                          - shipping
                          - adminUrl
                          - status
                          - price
                          - paid
                          - billingAddress
                          - deliveryAddress
                          - items
                        properties:
                          code:
                            type: string
                            description: >-
                              order number. Caution! This does not have to be
                              just a number, it can also contain letters, a
                              dash, etc.
                            examples:
                              - '2017000092'
                          guid:
                            type: string
                            description: >-
                              global unique permanent order identifier (can be
                              `null` for old orders)
                            examples:
                              - c5012051-d7ca-11e0-9a5c-feab5ed617ed
                          externalCode:
                            type:
                              - string
                              - 'null'
                            description: >-
                              Identification of the order in external system (or
                              `null`).
                            examples:
                              - '1234'
                          creationTime:
                            $ref: '#/components/schemas/typeDateTime'
                            description: >-
                              date and time, when the order was created. ISO
                              8601 format.
                          changeTime:
                            type:
                              - string
                              - 'null'
                            $ref: '#/components/schemas/typeDateTime'
                            description: >-
                              date and time of the order's last change. ISO 8601
                              format.
                          email:
                            type:
                              - string
                              - 'null'
                            description: purchaser e-mail (can be `null`)
                            examples:
                              - customer@someemail.com
                          phone:
                            type:
                              - string
                              - 'null'
                            description: purchaser phone number (can be `null`)
                            examples:
                              - '+420604600444'
                          birthDate:
                            type:
                              - string
                              - 'null'
                            description: customer's date of birth stated in the order
                            examples:
                              - '1980-01-01'
                          clientIPAddress:
                            type:
                              - string
                              - 'null'
                            description: IP address of the client who made the order
                            examples:
                              - 213.46.237.24
                          customerGuid:
                            type:
                              - string
                              - 'null'
                            $ref: '#/components/schemas/typeGuidUnlimited'
                            description: >-
                              customer identifier, if the customer is registered
                              in the e-shop (can be `null`)
                          cashDeskOrder:
                            type: boolean
                            description: >-
                              flag, whether the order is from the cash desk (as
                              opposed to the e-shop)
                            examples:
                              - true
                          stockId:
                            type: number
                            description: >-
                              identifier of the stock, from which the order was
                              taken
                            examples:
                              - 1
                          addressesEqual:
                            type: boolean
                            description: >-
                              flag, whether the delivery address is the same as
                              the invoicing address
                            examples:
                              - true
                          vatPayer:
                            type: boolean
                            description: >-
                              Is the tradesman a VAT payer, when purchasing?
                              (can be `null`, if this is unknown)
                            examples:
                              - true
                          vatMode:
                            type:
                              - string
                              - 'null'
                            description: >-
                              VAT mode, for possible values see [VAT
                              modes](#section/code-lists/VAT-modes)
                            examples:
                              - Normal
                          billingMethod:
                            type:
                              - object
                              - 'null'
                            $ref: '#/components/schemas/billingMethod'
                          paymentMethod:
                            type:
                              - object
                              - 'null'
                            $ref: '#/components/schemas/paymentMethod'
                          shipping:
                            type:
                              - object
                              - 'null'
                            $ref: '#/components/schemas/shipping'
                          shippingDetails:
                            type:
                              - object
                              - 'null'
                            additionalProperties: false
                            required:
                              - branchId
                              - shippingCompanyCode
                              - name
                              - note
                              - place
                              - street
                              - city
                              - zipCode
                              - countryCode
                              - link
                              - latitude
                              - longitude
                              - carrierId
                            properties:
                              branchId:
                                type:
                                  - string
                                  - 'null'
                                description: branch identifier
                                examples:
                                  - '4'
                              shippingCompanyCode:
                                type:
                                  - string
                                  - 'null'
                                description: identification of the carrier
                                examples:
                                  - zasilkovna
                              shippingServiceCode:
                                type:
                                  - string
                                  - 'null'
                                description: identification of the carrier's service
                                examples:
                                  - zasilkovna-pickup
                              name:
                                type:
                                  - string
                                  - 'null'
                                description: name of the branch
                                examples:
                                  - Hradec Králové, Square of 5th May 888
                              note:
                                type:
                                  - string
                                  - 'null'
                                description: branch location note, can contain HTML
                                examples:
                                  - >-
                                    <p>Open: Mon-Fri 8:00-18:00, Sat
                                    8:00-12:00</p>
                              place:
                                type:
                                  - string
                                  - 'null'
                                description: location (specify location within address).
                                examples:
                                  - Creator
                              street:
                                type:
                                  - string
                                  - 'null'
                                description: street
                                examples:
                                  - Square of 5th May 888
                              city:
                                type:
                                  - string
                                  - 'null'
                                description: city/town
                                examples:
                                  - Hradec Králové
                              zipCode:
                                type:
                                  - string
                                  - 'null'
                                description: ZIP or postal code
                                examples:
                                  - '50002'
                              countryCode:
                                type:
                                  - string
                                  - 'null'
                                description: country code
                                examples:
                                  - CZ
                              link:
                                type:
                                  - string
                                  - 'null'
                                description: link to the branch's website
                                examples:
                                  - >-
                                    https://www.ulozenka.cz/pobocky/4/hradec-kralove-nam-5-kvetna-888
                              latitude:
                                type:
                                  - string
                                  - 'null'
                                description: GPS coordinates - north latitude
                                examples:
                                  - '50.213673'
                              longitude:
                                type:
                                  - string
                                  - 'null'
                                description: GPS coordinates - east longitude
                                examples:
                                  - '15.832775'
                              carrierId:
                                type:
                                  - integer
                                  - 'null'
                                description: >-
                                  identification of the carrier - now it's used
                                  for Zasilkovna only. The value is `null` for
                                  Czech Zasilkovna or carrier ID for Zasilkovna
                                  in the other countries.
                                examples:
                                  - 3060
                          adminUrl:
                            type: string
                            description: >-
                              URL to administration leading to order detail. URL
                              keeps the administration language settings.
                            examples:
                              - >-
                                https://www.domena-eshopu.cz/admin/objednavky-detail?id=2
                          status:
                            type:
                              - object
                              - 'null'
                            additionalProperties: false
                            required:
                              - name
                              - id
                            properties:
                              name:
                                type:
                                  - string
                                  - 'null'
                                description: status name
                                examples:
                                  - Processing
                              id:
                                type: number
                                description: status identifier
                                examples:
                                  - -1
                          source:
                            type:
                              - object
                              - 'null'
                            additionalProperties: false
                            required:
                              - name
                              - id
                            description: source of the order
                            properties:
                              name:
                                type:
                                  - string
                                  - 'null'
                                description: source name
                                examples:
                                  - E-Shop
                              id:
                                type: number
                                description: source identifier
                                examples:
                                  - -1
                          price:
                            $ref: '#/components/schemas/price'
                            description: price of the order
                          paid:
                            type:
                              - boolean
                              - 'null'
                            description: >-
                              flag, whether the order was paid. In addition to
                              `true` a `false`, can also be `null`, if the
                              payment status is unknown.
                            examples:
                              - true
                          billingAddress:
                            $ref: '#/components/schemas/billingAddress'
                          deliveryAddress:
                            oneOf:
                              - $ref: '#/components/schemas/address'
                              - type: 'null'
                          onlinePaymentLink:
                            type:
                              - string
                              - 'null'
                            description: URL to online payment
                            examples:
                              - >-
                                https://www.domena-eshopu.cz/api/pay/payu/redir?paymentCode=xyz123
                          language:
                            type: string
                            description: language code of the order
                            examples:
                              - cs
                          referer:
                            type:
                              - string
                              - 'null'
                            description: which page (url) has the user come from
                            examples:
                              - https://www.google.cz/
                          paymentMethods:
                            type: array
                            description: all order payment methods
                            items:
                              type: object
                              additionalProperties: false
                              required:
                                - paymentMethod
                                - itemId
                              properties:
                                paymentMethod:
                                  $ref: '#/components/schemas/paymentMethod'
                                itemId:
                                  type: number
                                  description: payment method identifier within order
                                  examples:
                                    - 564
                          shippings:
                            type: array
                            description: all order shippings
                            items:
                              type: object
                              additionalProperties: false
                              required:
                                - shipping
                                - itemId
                              properties:
                                shipping:
                                  type: object
                                  additionalProperties: false
                                  required:
                                    - guid
                                    - name
                                  description: transport method
                                  properties:
                                    guid:
                                      type:
                                        - string
                                        - 'null'
                                      $ref: '#/components/schemas/typeGuid'
                                      description: transport method identifier
                                    name:
                                      type: string
                                      description: description of transport method
                                      examples:
                                        - PPL
                                itemId:
                                  type: number
                                  description: transport method identifier within order
                                  examples:
                                    - 897
                          items:
                            type: array
                            description: all order items
                            items:
                              $ref: '#/components/schemas/orderItem'
                          notes:
                            type: object
                            additionalProperties: false
                            description: >-
                              order notes (only filled in on request if
                              `include=notes` is listed)
                            required:
                              - customerRemark
                              - eshopRemark
                              - trackingNumber
                              - trackingUrl
                              - additionalFields
                            properties:
                              customerRemark:
                                type:
                                  - string
                                  - 'null'
                                description: customer note
                                examples:
                                  - Better in green
                              eshopRemark:
                                type:
                                  - string
                                  - 'null'
                                description: e-shop order remark.
                                examples:
                                  - Gift wrapping
                              trackingNumber:
                                type:
                                  - string
                                  - 'null'
                                description: shipment number
                                examples:
                                  - DR123456
                              trackingUrl:
                                type:
                                  - string
                                  - 'null'
                                description: package trace link (can be `null`)
                                examples:
                                  - >-
                                    http://www.ppl.cz/main2.aspx?cls=Package&idSearch=DR123456
                              additionalFields:
                                type: array
                                description: >-
                                  can contain up to six additional fields, which
                                  can be freely used by e-shop for its
                                  individual needs.
                                items:
                                  type: object
                                  additionalProperties: false
                                  required:
                                    - index
                                    - label
                                    - text
                                  properties:
                                    index:
                                      type: integer
                                      description: sequence number
                                      examples:
                                        - 1
                                    label:
                                      type: string
                                      description: >-
                                        item name. The name of the field can be
                                        edited in the e-shop administration.
                                      examples:
                                        - 1st field
                                    text:
                                      type:
                                        - string
                                        - 'null'
                                      description: item value (can be `null`)
                                      examples:
                                        - forwarder ID
                  errors:
                    $ref: '#/components/schemas/Errors'
                required:
                  - data
                  - errors
                additionalProperties: false
      summary: Order payment add
      operationId: createOrderPayment
      description: ''
      tags:
        - Orders
      parameters:
        - name: code
          in: path
          description: order code
          required: true
          example: '2018000079'
          schema:
            type: string
        - $ref: '#/components/parameters/DefaultContentType'
      requestBody:
        content:
          application/vnd.shoptet.v1.0+json:
            schema:
              type: object
              required:
                - data
              properties:
                data:
                  type: object
                  additionalProperties: false
                  required:
                    - guid
                    - vatRate
                  properties:
                    guid:
                      $ref: '#/components/schemas/typeGuid'
                      description: Guid of payment method.
                    vatRate:
                      type: string
                      description: VAT rate (`0.00` for VAT non-payers).
                    itemPriceWithVat:
                      type: string
                      description: >-
                        Item price, including VAT. Optional. Price including tax
                        and price excluding tax cannot be combined.
                      examples:
                        - '121.00'
                    itemPriceWithoutVat:
                      type: string
                      description: >-
                        Item price, excluding VAT. Price including tax and price
                        excluding tax cannot be combined.
                      examples:
                        - '100.00'
                    additionalField:
                      type:
                        - string
                        - 'null'
                      minLength: 1
                      maxLength: 255
                      description: additional information.
                      examples:
                        - Payment information
                    statusId:
                      type: number
                      description: >-
                        Order item status. Optional, if not indicated, default
                        value is guided by the order status. If the order status
                        was indicated and this status has the `Change status of
                        items in the order` flag set, then the item will have
                        this status. Otherwise the default status of the e-shop
                        is used.
                      examples:
                        - -1
  /api/orders/{code}/payment/{id}:
    patch:
      responses:
        '200':
          description: OK
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    required:
                      - orderItem
                    additionalProperties: false
                    properties:
                      orderItem:
                        $ref: '#/components/schemas/orderItem'
                  errors:
                    $ref: '#/components/schemas/Errors'
                required:
                  - data
                  - errors
                additionalProperties: false
      summary: Order payment update
      operationId: updateOrderPayment
      description: ''
      tags:
        - Orders
      parameters:
        - name: code
          in: path
          description: order code
          required: true
          example: '2018000079'
          schema:
            type: string
        - name: id
          in: path
          description: id of order item
          required: true
          example: '1'
          schema:
            type: number
        - $ref: '#/components/parameters/DefaultContentType'
      requestBody:
        content:
          application/vnd.shoptet.v1.0+json:
            schema:
              type: object
              required:
                - data
              properties:
                data:
                  type: object
                  additionalProperties: false
                  minProperties: 1
                  properties:
                    guid:
                      $ref: '#/components/schemas/typeGuid'
                      description: Guid of payment method.
                    vatRate:
                      type: string
                      description: VAT rate (`0.00` for VAT non-payers).
                    itemPriceWithVat:
                      type: string
                      description: >-
                        Item price, including VAT. Optional. Price including tax
                        and price excluding tax cannot be combined.
                      examples:
                        - '121.00'
                    itemPriceWithoutVat:
                      type: string
                      description: >-
                        Item price, excluding VAT. Price including tax and price
                        excluding tax cannot be combined.
                      examples:
                        - '100.00'
                    additionalField:
                      type:
                        - string
                        - 'null'
                      minLength: 1
                      maxLength: 255
                      description: additional information.
                      examples:
                        - Payment information
                    statusId:
                      type: number
                      description: >-
                        Order item status. Optional, if not indicated, default
                        value is guided by the order status. If the order status
                        was indicated and this status has the `Change status of
                        items in the order` flag set, then the item will have
                        this status. Otherwise the default status of the e-shop
                        is used.
                      examples:
                        - -1
  /api/orders/{code}/shipping:
    post:
      responses:
        '201':
          description: Created
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    additionalProperties: false
                    required:
                      - order
                    properties:
                      order:
                        type: object
                        additionalProperties: false
                        required:
                          - code
                          - guid
                          - externalCode
                          - creationTime
                          - changeTime
                          - email
                          - phone
                          - clientIPAddress
                          - customerGuid
                          - vatPayer
                          - cashDeskOrder
                          - stockId
                          - addressesEqual
                          - billingMethod
                          - paymentMethod
                          - shipping
                          - adminUrl
                          - status
                          - price
                          - paid
                          - billingAddress
                          - deliveryAddress
                          - items
                        properties:
                          code:
                            type: string
                            description: >-
                              order number. Caution! This does not have to be
                              just a number, it can also contain letters, a
                              dash, etc.
                            examples:
                              - '2017000092'
                          guid:
                            type: string
                            description: >-
                              global unique permanent order identifier (can be
                              `null` for old orders)
                            examples:
                              - c5012051-d7ca-11e0-9a5c-feab5ed617ed
                          externalCode:
                            type:
                              - string
                              - 'null'
                            description: >-
                              Identification of the order in external system (or
                              `null`).
                            examples:
                              - '1234'
                          creationTime:
                            $ref: '#/components/schemas/typeDateTime'
                            description: >-
                              date and time, when the order was created. ISO
                              8601 format.
                          changeTime:
                            type:
                              - string
                              - 'null'
                            $ref: '#/components/schemas/typeDateTime'
                            description: >-
                              date and time of the order's last change. ISO 8601
                              format.
                          email:
                            type:
                              - string
                              - 'null'
                            description: purchaser e-mail (can be `null`)
                            examples:
                              - customer@someemail.com
                          phone:
                            type:
                              - string
                              - 'null'
                            description: purchaser phone number (can be `null`)
                            examples:
                              - '+420604600444'
                          birthDate:
                            type:
                              - string
                              - 'null'
                            description: customer's date of birth stated in the order
                            examples:
                              - '1980-01-01'
                          clientIPAddress:
                            type:
                              - string
                              - 'null'
                            description: IP address of the client who made the order
                            examples:
                              - 213.46.237.24
                          customerGuid:
                            type:
                              - string
                              - 'null'
                            $ref: '#/components/schemas/typeGuidUnlimited'
                            description: >-
                              customer identifier, if the customer is registered
                              in the e-shop (can be `null`)
                          cashDeskOrder:
                            type: boolean
                            description: >-
                              flag, whether the order is from the cash desk (as
                              opposed to the e-shop)
                            examples:
                              - true
                          stockId:
                            type: number
                            description: >-
                              identifier of the stock, from which the order was
                              taken
                            examples:
                              - 1
                          addressesEqual:
                            type: boolean
                            description: >-
                              flag, whether the delivery address is the same as
                              the invoicing address
                            examples:
                              - true
                          vatPayer:
                            type: boolean
                            description: >-
                              Is the tradesman a VAT payer, when purchasing?
                              (can be `null`, if this is unknown)
                            examples:
                              - true
                          vatMode:
                            type:
                              - string
                              - 'null'
                            description: >-
                              VAT mode, for possible values see [VAT
                              modes](#section/code-lists/VAT-modes)
                            examples:
                              - Normal
                          billingMethod:
                            type:
                              - object
                              - 'null'
                            $ref: '#/components/schemas/billingMethod'
                          paymentMethod:
                            type:
                              - object
                              - 'null'
                            $ref: '#/components/schemas/paymentMethod'
                          shipping:
                            type:
                              - object
                              - 'null'
                            $ref: '#/components/schemas/shipping'
                          shippingDetails:
                            type:
                              - object
                              - 'null'
                            additionalProperties: false
                            required:
                              - branchId
                              - shippingCompanyCode
                              - name
                              - note
                              - place
                              - street
                              - city
                              - zipCode
                              - countryCode
                              - link
                              - latitude
                              - longitude
                              - carrierId
                            properties:
                              branchId:
                                type:
                                  - string
                                  - 'null'
                                description: branch identifier
                                examples:
                                  - '4'
                              shippingCompanyCode:
                                type:
                                  - string
                                  - 'null'
                                description: identification of the carrier
                                examples:
                                  - zasilkovna
                              shippingServiceCode:
                                type:
                                  - string
                                  - 'null'
                                description: identification of the carrier's service
                                examples:
                                  - zasilkovna-pickup
                              name:
                                type:
                                  - string
                                  - 'null'
                                description: name of the branch
                                examples:
                                  - Hradec Králové, Square of 5th May 888
                              note:
                                type:
                                  - string
                                  - 'null'
                                description: branch location note, can contain HTML
                                examples:
                                  - >-
                                    <p>Open: Mon-Fri 8:00-18:00, Sat
                                    8:00-12:00</p>
                              place:
                                type:
                                  - string
                                  - 'null'
                                description: location (specify location within address).
                                examples:
                                  - Creator
                              street:
                                type:
                                  - string
                                  - 'null'
                                description: street
                                examples:
                                  - Square of 5th May 888
                              city:
                                type:
                                  - string
                                  - 'null'
                                description: city/town
                                examples:
                                  - Hradec Králové
                              zipCode:
                                type:
                                  - string
                                  - 'null'
                                description: ZIP or postal code
                                examples:
                                  - '50002'
                              countryCode:
                                type:
                                  - string
                                  - 'null'
                                description: country code
                                examples:
                                  - CZ
                              link:
                                type:
                                  - string
                                  - 'null'
                                description: link to the branch's website
                                examples:
                                  - >-
                                    https://www.ulozenka.cz/pobocky/4/hradec-kralove-nam-5-kvetna-888
                              latitude:
                                type:
                                  - string
                                  - 'null'
                                description: GPS coordinates - north latitude
                                examples:
                                  - '50.213673'
                              longitude:
                                type:
                                  - string
                                  - 'null'
                                description: GPS coordinates - east longitude
                                examples:
                                  - '15.832775'
                              carrierId:
                                type:
                                  - integer
                                  - 'null'
                                description: >-
                                  identification of the carrier - now it's used
                                  for Zasilkovna only. The value is `null` for
                                  Czech Zasilkovna or carrier ID for Zasilkovna
                                  in the other countries.
                                examples:
                                  - 3060
                          adminUrl:
                            type: string
                            description: >-
                              URL to administration leading to order detail. URL
                              keeps the administration language settings.
                            examples:
                              - >-
                                https://www.domena-eshopu.cz/admin/objednavky-detail?id=2
                          status:
                            type:
                              - object
                              - 'null'
                            additionalProperties: false
                            required:
                              - name
                              - id
                            properties:
                              name:
                                type:
                                  - string
                                  - 'null'
                                description: status name
                                examples:
                                  - Processing
                              id:
                                type: number
                                description: status identifier
                                examples:
                                  - -1
                          source:
                            type:
                              - object
                              - 'null'
                            additionalProperties: false
                            required:
                              - name
                              - id
                            description: source of the order
                            properties:
                              name:
                                type:
                                  - string
                                  - 'null'
                                description: source name
                                examples:
                                  - E-Shop
                              id:
                                type: number
                                description: source identifier
                                examples:
                                  - -1
                          price:
                            $ref: '#/components/schemas/price'
                            description: price of the order
                          paid:
                            type:
                              - boolean
                              - 'null'
                            description: >-
                              flag, whether the order was paid. In addition to
                              `true` a `false`, can also be `null`, if the
                              payment status is unknown.
                            examples:
                              - true
                          billingAddress:
                            $ref: '#/components/schemas/billingAddress'
                          deliveryAddress:
                            oneOf:
                              - $ref: '#/components/schemas/address'
                              - type: 'null'
                          onlinePaymentLink:
                            type:
                              - string
                              - 'null'
                            description: URL to online payment
                            examples:
                              - >-
                                https://www.domena-eshopu.cz/api/pay/payu/redir?paymentCode=xyz123
                          language:
                            type: string
                            description: language code of the order
                            examples:
                              - cs
                          referer:
                            type:
                              - string
                              - 'null'
                            description: which page (url) has the user come from
                            examples:
                              - https://www.google.cz/
                          paymentMethods:
                            type: array
                            description: all order payment methods
                            items:
                              type: object
                              additionalProperties: false
                              required:
                                - paymentMethod
                                - itemId
                              properties:
                                paymentMethod:
                                  $ref: '#/components/schemas/paymentMethod'
                                itemId:
                                  type: number
                                  description: payment method identifier within order
                                  examples:
                                    - 564
                          shippings:
                            type: array
                            description: all order shippings
                            items:
                              type: object
                              additionalProperties: false
                              required:
                                - shipping
                                - itemId
                              properties:
                                shipping:
                                  type: object
                                  additionalProperties: false
                                  required:
                                    - guid
                                    - name
                                  description: transport method
                                  properties:
                                    guid:
                                      type:
                                        - string
                                        - 'null'
                                      $ref: '#/components/schemas/typeGuid'
                                      description: transport method identifier
                                    name:
                                      type: string
                                      description: description of transport method
                                      examples:
                                        - PPL
                                itemId:
                                  type: number
                                  description: transport method identifier within order
                                  examples:
                                    - 897
                          items:
                            type: array
                            description: all order items
                            items:
                              $ref: '#/components/schemas/orderItem'
                          notes:
                            type: object
                            additionalProperties: false
                            description: >-
                              order notes (only filled in on request if
                              `include=notes` is listed)
                            required:
                              - customerRemark
                              - eshopRemark
                              - trackingNumber
                              - trackingUrl
                              - additionalFields
                            properties:
                              customerRemark:
                                type:
                                  - string
                                  - 'null'
                                description: customer note
                                examples:
                                  - Better in green
                              eshopRemark:
                                type:
                                  - string
                                  - 'null'
                                description: e-shop order remark.
                                examples:
                                  - Gift wrapping
                              trackingNumber:
                                type:
                                  - string
                                  - 'null'
                                description: shipment number
                                examples:
                                  - DR123456
                              trackingUrl:
                                type:
                                  - string
                                  - 'null'
                                description: package trace link (can be `null`)
                                examples:
                                  - >-
                                    http://www.ppl.cz/main2.aspx?cls=Package&idSearch=DR123456
                              additionalFields:
                                type: array
                                description: >-
                                  can contain up to six additional fields, which
                                  can be freely used by e-shop for its
                                  individual needs.
                                items:
                                  type: object
                                  additionalProperties: false
                                  required:
                                    - index
                                    - label
                                    - text
                                  properties:
                                    index:
                                      type: integer
                                      description: sequence number
                                      examples:
                                        - 1
                                    label:
                                      type: string
                                      description: >-
                                        item name. The name of the field can be
                                        edited in the e-shop administration.
                                      examples:
                                        - 1st field
                                    text:
                                      type:
                                        - string
                                        - 'null'
                                      description: item value (can be `null`)
                                      examples:
                                        - forwarder ID
                  errors:
                    $ref: '#/components/schemas/Errors'
                required:
                  - data
                  - errors
                additionalProperties: false
      summary: Order shipping add
      operationId: addOrderShipping
      description: ''
      tags:
        - Orders
      parameters:
        - name: code
          in: path
          description: order code
          required: true
          example: '2018000079'
          schema:
            type: string
        - $ref: '#/components/parameters/DefaultContentType'
      requestBody:
        content:
          application/vnd.shoptet.v1.0+json:
            schema:
              type: object
              required:
                - data
              properties:
                data:
                  type: object
                  additionalProperties: false
                  required:
                    - guid
                    - vatRate
                  properties:
                    guid:
                      $ref: '#/components/schemas/typeGuid'
                      description: Guid of shipping method.
                    vatRate:
                      type: string
                      description: VAT rate (`0.00` for VAT non-payers).
                    itemPriceWithVat:
                      type: string
                      description: >-
                        Item price, including VAT. Price including tax and price
                        excluding tax cannot be combined.
                      examples:
                        - '121.00'
                    itemPriceWithoutVat:
                      type: string
                      description: >-
                        Item price, excluding VAT. Price including tax and price
                        excluding tax cannot be combined.
                      examples:
                        - '100.00'
                    additionalField:
                      type:
                        - string
                        - 'null'
                      minLength: 1
                      maxLength: 255
                      description: >-
                        In case of pickup, given value must be a unique
                        identificator of pickup place. You can find these
                        identificators on website of delivery company. In case
                        of other delivery type (e.g. home delivery) it works as
                        a note.
                      examples:
                        - Home delivery
                    statusId:
                      type: number
                      description: >-
                        Order item status. Optional, if not indicated, default
                        value is guided by the order status. If the order status
                        was indicated and this status has the `Change status of
                        items in the order` flag set, then the item will have
                        this status. Otherwise the default status of the e-shop
                        is used.
                      examples:
                        - -1
  /api/orders/{code}/shipping/{id}:
    patch:
      responses:
        '200':
          description: OK
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    required:
                      - orderItem
                    additionalProperties: false
                    properties:
                      orderItem:
                        $ref: '#/components/schemas/orderItem'
                  errors:
                    $ref: '#/components/schemas/Errors'
                required:
                  - data
                  - errors
                additionalProperties: false
      summary: Order shipping update
      operationId: updateOrderShipping
      description: ''
      tags:
        - Orders
      parameters:
        - name: code
          in: path
          description: order code
          required: true
          example: '2018000079'
          schema:
            type: string
        - name: id
          in: path
          description: id of order item
          required: true
          example: '1'
          schema:
            type: number
        - $ref: '#/components/parameters/DefaultContentType'
      requestBody:
        content:
          application/vnd.shoptet.v1.0+json:
            schema:
              type: object
              required:
                - data
              properties:
                data:
                  type: object
                  additionalProperties: false
                  minProperties: 1
                  properties:
                    guid:
                      $ref: '#/components/schemas/typeGuid'
                      description: Guid of shipping method.
                    vatRate:
                      type: string
                      description: VAT rate (`0.00` for VAT non-payers).
                    itemPriceWithVat:
                      type: string
                      description: >-
                        Item price, including VAT. Price including tax and price
                        excluding tax cannot be combined.
                      examples:
                        - '121.00'
                    itemPriceWithoutVat:
                      type: string
                      description: >-
                        Item price, excluding VAT. Price including tax and price
                        excluding tax cannot be combined.
                      examples:
                        - '100.00'
                    additionalField:
                      type:
                        - string
                        - 'null'
                      minLength: 1
                      maxLength: 255
                      description: >-
                        In case of pickup, given value must be a unique
                        identificator of pickup place. You can find these
                        identificators on website of delivery company. In case
                        of other delivery type (e.g. home delivery) it works as
                        a note.
                      examples:
                        - Home delivery
                    statusId:
                      type: number
                      description: >-
                        Order item status. Optional, if not indicated, default
                        value is guided by the order status. If the order status
                        was indicated and this status has the `Change status of
                        items in the order` flag set, then the item will have
                        this status. Otherwise the default status of the e-shop
                        is used.
                      examples:
                        - -1
  /api/orders/{code}/pdf:
    get:
      responses:
        '200':
          description: OK
        '404':
          description: Not Found
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    type: 'null'
                  errors:
                    $ref: '#/components/schemas/Errors'
              example:
                data: null
                errors:
                  - errorCode: order-not-found
                    message: Order "2018000004" not found.
                    instance: '2018000004'
        '500':
          description: Internal Server Error
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    type: 'null'
                  errors:
                    $ref: '#/components/schemas/Errors'
              example:
                data: null
                errors:
                  - errorCode: document-not-generated
                    message: |-
                      Error while getting document type "order" with code
                      "2018000004".
                    instance: '2018000004'
      summary: Download order as PDF
      operationId: downloadOrderAsPdf
      description: |-
        You can request the order as PDF file, response will be as
        application/octet-stream. You can download pdf documents

        only one-by-one for every e-shop. Parallel requests end with `423
        Locked` error.
      tags:
        - Orders
      parameters:
        - name: code
          in: path
          description: ''
          required: true
          example: '2018000004'
          schema:
            type: string
        - $ref: '#/components/parameters/DefaultContentType'
  /api/orders/{code}/history:
    get:
      responses:
        '200':
          description: OK
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    additionalProperties: false
                    required:
                      - orderHistory
                    properties:
                      orderHistory:
                        type: array
                        items:
                          type: object
                          additionalProperties: false
                          required:
                            - id
                            - creationTime
                            - text
                            - user
                            - system
                            - type
                          properties:
                            id:
                              type: number
                              description: order history identifier
                              examples:
                                - 1
                            creationTime:
                              $ref: '#/components/schemas/typeDateTime'
                              description: Creation time of the order history record.
                            text:
                              type: string
                              description: 'Transaction Id at payment gateway side: GHJ36'
                            user:
                              type:
                                - object
                                - 'null'
                              additionalProperties: false
                              description: >-
                                the user or system process that caused the
                                change
                              required:
                                - id
                                - name
                              properties:
                                id:
                                  type: string
                                  description: >-
                                    identification of change originator, either
                                    user’s e-mail, or system process identifier
                                  examples:
                                    - api.service-21@fenix.myshoptet.com
                                name:
                                  type: string
                                  description: >-
                                    the user name or description of the system
                                    service that caused the change
                                  examples:
                                    - stock monitoring addon
                            system:
                              type: boolean
                              description: >-
                                flag, whether the remark is entered by Shoptet
                                (`system: true`), by user, or by API (`system:
                                false`)
                              examples:
                                - true
                            type:
                              type: string
                              description: Record type
                              examples:
                                - system
                  errors:
                    $ref: '#/components/schemas/Errors'
                required:
                  - data
                  - errors
                additionalProperties: false
      summary: List of remarks for the order
      operationId: getListOfRemarksForOrder
      description: |-
        The endpoint shows the order history which is displayed in Shoptet
        administration in the

        “History” tab, in the order detail. Thus they are the most important
        system actions that have affected the order (they cannot be

        changed by the user) and then the notes added by the e-shop, primarily
        intended as messages between several employees,

        which may be needed to coordinate the order processing (these can be
        entered and deleted by the user).
      tags:
        - Orders
      parameters:
        - name: code
          in: path
          description: Order code
          required: true
          example: '2018000067'
          schema:
            type: string
        - name: system
          in: query
          description: allows filtering only system/non-system remarks
          example: 'true'
          schema:
            type: boolean
        - $ref: '#/components/parameters/DefaultContentType'
    post:
      responses:
        '201':
          description: Created
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    type: 'null'
                  errors:
                    $ref: '#/components/schemas/Errors'
        '403':
          description: Forbidden
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    type: 'null'
                  errors:
                    $ref: '#/components/schemas/Errors'
              example:
                data: null
                errors:
                  - errorCode: order-history-item-exceeded-limit
                    message: >-
                      Order history item count limit exceeded (100) for order
                      "2018000012".
                    instance: '2018000012'
        '404':
          description: Not Found
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    type: 'null'
                  errors:
                    $ref: '#/components/schemas/Errors'
              example:
                data: null
                errors:
                  - errorCode: order-not-found
                    message: Order "2018000012" not found.
                    instance: '2018000012'
      summary: Insertion of remark to order
      operationId: createOrderRemark
      description: |-
        This endpoint may be used to add the user remark into the order history.

        For example the payment gateway may give the payment identification at
        its side, or

        add the remarks during the process of payment or order processing. The
        remarks

        are displayed in administration, in the “History” tab, in the order
        detail,

        together with main system changes of the order.
      tags:
        - Orders
      parameters:
        - name: code
          in: path
          description: ''
          required: true
          example: '2018000012'
          schema:
            type: string
        - $ref: '#/components/parameters/DefaultContentType'
      requestBody:
        content:
          application/vnd.shoptet.v1.0+json:
            schema:
              type: object
              required:
                - data
              properties:
                data:
                  type: object
                  required:
                    - text
                  additionalProperties: false
                  properties:
                    text:
                      type: string
                      examples:
                        - Transported from Jičín, will be here on Wednesday
                    type:
                      type: string
                      minLength: 1
                      examples:
                        - comment
  /api/orders/{code}/history/{id}:
    delete:
      responses:
        '200':
          description: OK
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    type: 'null'
                  errors:
                    $ref: '#/components/schemas/Errors'
                required:
                  - data
                  - errors
                additionalProperties: false
        '404':
          description: Order history item deletion failed
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    type: 'null'
                  errors:
                    $ref: '#/components/schemas/Errors'
              example:
                data: null
                errors:
                  - errorCode: order-history-deletion-failed
                    message: Cannot delete order history item "2073".
                    instance: '2073'
      summary: Delete order history item
      operationId: deleteOrderHistoryItem
      description: Delete order history item by primary key.
      tags:
        - Orders
      parameters:
        - name: code
          in: path
          description: Order code
          required: true
          example: '2018000067'
          schema:
            type: string
        - name: id
          in: path
          description: ID of history item
          required: true
          example: '4'
          schema:
            type: number
        - $ref: '#/components/parameters/DefaultContentType'
  /api/orders/{code}/notes:
    patch:
      responses:
        '200':
          description: OK
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    type: 'null'
                  errors:
                    $ref: '#/components/schemas/Errors'
        '404':
          description: Not Found
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    type: 'null'
                  errors:
                    $ref: '#/components/schemas/Errors'
              example:
                data: null
                errors:
                  - errorCode: order-not-found
                    message: Order "2018000012" not found.
                    instance: '2018000012'
      summary: Update remarks for the order
      operationId: updateRemarksForOrder
      description: |-
        The endpoint enables the remarks and additional fields (index 1 - 6) to
        be updated for the order. Within a call, the update

        of more data can be called for.


        The individual data object keys are not optional. Only the key values,
        which are included in the data object, will be updated.


        If "customerRemark", "trackingNumber", "eshopRemark" have a value of
        NULL, the originally saved value will be deleted.


        For additional fields ("additionalFields” key) only the fields included
        in this field are updated.


        If the key value is "text" for NULL additional field, the originally
        saved text in this field will be deleted.


        If the non-existing key is entered, or the call is erroneous in another
        way, no item is updated.


        **Please note that `trackingNumber` cannot be longer than 32
        characters.**

        **Please note that `additionalField` with index 1, 2 & 3 cannot be
        longer than 255 characters.**
      tags:
        - Orders
      parameters:
        - name: code
          in: path
          description: ''
          required: true
          example: '2018000012'
          schema:
            type: string
        - $ref: '#/components/parameters/DefaultContentType'
      requestBody:
        content:
          application/vnd.shoptet.v1.0+json:
            schema:
              type: object
              required:
                - data
              properties:
                data:
                  type: object
                  minProperties: 1
                  additionalProperties: false
                  properties:
                    customerRemark:
                      type:
                        - string
                        - 'null'
                    trackingNumber:
                      type:
                        - string
                        - 'null'
                      maxLength: 32
                    additionalFields:
                      type: array
                      minItems: 1
                      items:
                        type: object
                        additionalProperties: false
                        required:
                          - index
                          - text
                        properties:
                          index:
                            type: number
                            enum:
                              - 1
                              - 2
                              - 3
                              - 4
                              - 5
                              - 6
                          text:
                            type:
                              - string
                              - 'null'
                    eshopRemark:
                      type:
                        - string
                        - 'null'
            example:
              data:
                customerRemark: Deliver to mailing addres
                trackingNumber: DR1234567890E
                additionalFields:
                  - index: 1
                    text: Text of additional field no. 1
                  - index: 2
                    text: Text of additional field no. 2
                  - index: 3
                    text: Text of additional field no. 3
                  - index: 4
                    text: Text of additional field no. 4
                  - index: 5
                    text: Text of additional field no. 5
                  - index: 6
                    text: Text of additional field no. 6
                eshopRemark: In stock from 20.1. 2019
  /api/orders/{code}/status:
    patch:
      responses:
        '200':
          description: OK
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    additionalProperties: false
                    required:
                      - order
                    properties:
                      order:
                        type: object
                        additionalProperties: false
                        required:
                          - code
                          - guid
                          - externalCode
                          - creationTime
                          - changeTime
                          - email
                          - phone
                          - clientIPAddress
                          - customerGuid
                          - vatPayer
                          - cashDeskOrder
                          - stockId
                          - addressesEqual
                          - billingMethod
                          - paymentMethod
                          - shipping
                          - adminUrl
                          - status
                          - price
                          - paid
                          - billingAddress
                          - deliveryAddress
                          - items
                        properties:
                          code:
                            type: string
                            description: >-
                              order number. Caution! This does not have to be
                              just a number, it can also contain letters, a
                              dash, etc.
                            examples:
                              - '2017000092'
                          guid:
                            type: string
                            description: >-
                              global unique permanent order identifier (can be
                              `null` for old orders)
                            examples:
                              - c5012051-d7ca-11e0-9a5c-feab5ed617ed
                          externalCode:
                            type:
                              - string
                              - 'null'
                            description: >-
                              Identification of the order in external system (or
                              `null`).
                            examples:
                              - '1234'
                          creationTime:
                            $ref: '#/components/schemas/typeDateTime'
                            description: >-
                              date and time, when the order was created. ISO
                              8601 format.
                          changeTime:
                            type:
                              - string
                              - 'null'
                            $ref: '#/components/schemas/typeDateTime'
                            description: >-
                              date and time of the order's last change. ISO 8601
                              format.
                          email:
                            type:
                              - string
                              - 'null'
                            description: purchaser e-mail (can be `null`)
                            examples:
                              - customer@someemail.com
                          phone:
                            type:
                              - string
                              - 'null'
                            description: purchaser phone number (can be `null`)
                            examples:
                              - '+420604600444'
                          birthDate:
                            type:
                              - string
                              - 'null'
                            description: customer's date of birth stated in the order
                            examples:
                              - '1980-01-01'
                          clientIPAddress:
                            type:
                              - string
                              - 'null'
                            description: IP address of the client who made the order
                            examples:
                              - 213.46.237.24
                          customerGuid:
                            type:
                              - string
                              - 'null'
                            $ref: '#/components/schemas/typeGuidUnlimited'
                            description: >-
                              customer identifier, if the customer is registered
                              in the e-shop (can be `null`)
                          cashDeskOrder:
                            type: boolean
                            description: >-
                              flag, whether the order is from the cash desk (as
                              opposed to the e-shop)
                            examples:
                              - true
                          stockId:
                            type: number
                            description: >-
                              identifier of the stock, from which the order was
                              taken
                            examples:
                              - 1
                          addressesEqual:
                            type: boolean
                            description: >-
                              flag, whether the delivery address is the same as
                              the invoicing address
                            examples:
                              - true
                          vatPayer:
                            type: boolean
                            description: >-
                              Is the tradesman a VAT payer, when purchasing?
                              (can be `null`, if this is unknown)
                            examples:
                              - true
                          vatMode:
                            type:
                              - string
                              - 'null'
                            description: >-
                              VAT mode, for possible values see [VAT
                              modes](#section/code-lists/VAT-modes)
                            examples:
                              - Normal
                          billingMethod:
                            type:
                              - object
                              - 'null'
                            $ref: '#/components/schemas/billingMethod'
                          paymentMethod:
                            type:
                              - object
                              - 'null'
                            $ref: '#/components/schemas/paymentMethod'
                          shipping:
                            type:
                              - object
                              - 'null'
                            $ref: '#/components/schemas/shipping'
                          shippingDetails:
                            type:
                              - object
                              - 'null'
                            additionalProperties: false
                            required:
                              - branchId
                              - shippingCompanyCode
                              - name
                              - note
                              - place
                              - street
                              - city
                              - zipCode
                              - countryCode
                              - link
                              - latitude
                              - longitude
                              - carrierId
                            properties:
                              branchId:
                                type:
                                  - string
                                  - 'null'
                                description: branch identifier
                                examples:
                                  - '4'
                              shippingCompanyCode:
                                type:
                                  - string
                                  - 'null'
                                description: identification of the carrier
                                examples:
                                  - zasilkovna
                              shippingServiceCode:
                                type:
                                  - string
                                  - 'null'
                                description: identification of the carrier's service
                                examples:
                                  - zasilkovna-pickup
                              name:
                                type:
                                  - string
                                  - 'null'
                                description: name of the branch
                                examples:
                                  - Hradec Králové, Square of 5th May 888
                              note:
                                type:
                                  - string
                                  - 'null'
                                description: branch location note, can contain HTML
                                examples:
                                  - >-
                                    <p>Open: Mon-Fri 8:00-18:00, Sat
                                    8:00-12:00</p>
                              place:
                                type:
                                  - string
                                  - 'null'
                                description: location (specify location within address).
                                examples:
                                  - Creator
                              street:
                                type:
                                  - string
                                  - 'null'
                                description: street
                                examples:
                                  - Square of 5th May 888
                              city:
                                type:
                                  - string
                                  - 'null'
                                description: city/town
                                examples:
                                  - Hradec Králové
                              zipCode:
                                type:
                                  - string
                                  - 'null'
                                description: ZIP or postal code
                                examples:
                                  - '50002'
                              countryCode:
                                type:
                                  - string
                                  - 'null'
                                description: country code
                                examples:
                                  - CZ
                              link:
                                type:
                                  - string
                                  - 'null'
                                description: link to the branch's website
                                examples:
                                  - >-
                                    https://www.ulozenka.cz/pobocky/4/hradec-kralove-nam-5-kvetna-888
                              latitude:
                                type:
                                  - string
                                  - 'null'
                                description: GPS coordinates - north latitude
                                examples:
                                  - '50.213673'
                              longitude:
                                type:
                                  - string
                                  - 'null'
                                description: GPS coordinates - east longitude
                                examples:
                                  - '15.832775'
                              carrierId:
                                type:
                                  - integer
                                  - 'null'
                                description: >-
                                  identification of the carrier - now it's used
                                  for Zasilkovna only. The value is `null` for
                                  Czech Zasilkovna or carrier ID for Zasilkovna
                                  in the other countries.
                                examples:
                                  - 3060
                          adminUrl:
                            type: string
                            description: >-
                              URL to administration leading to order detail. URL
                              keeps the administration language settings.
                            examples:
                              - >-
                                https://www.domena-eshopu.cz/admin/objednavky-detail?id=2
                          status:
                            type:
                              - object
                              - 'null'
                            additionalProperties: false
                            required:
                              - name
                              - id
                            properties:
                              name:
                                type:
                                  - string
                                  - 'null'
                                description: status name
                                examples:
                                  - Processing
                              id:
                                type: number
                                description: status identifier
                                examples:
                                  - -1
                          source:
                            type:
                              - object
                              - 'null'
                            additionalProperties: false
                            required:
                              - name
                              - id
                            description: source of the order
                            properties:
                              name:
                                type:
                                  - string
                                  - 'null'
                                description: source name
                                examples:
                                  - E-Shop
                              id:
                                type: number
                                description: source identifier
                                examples:
                                  - -1
                          price:
                            $ref: '#/components/schemas/price'
                            description: price of the order
                          paid:
                            type:
                              - boolean
                              - 'null'
                            description: >-
                              flag, whether the order was paid. In addition to
                              `true` a `false`, can also be `null`, if the
                              payment status is unknown.
                            examples:
                              - true
                          billingAddress:
                            $ref: '#/components/schemas/billingAddress'
                          deliveryAddress:
                            oneOf:
                              - $ref: '#/components/schemas/address'
                              - type: 'null'
                          onlinePaymentLink:
                            type:
                              - string
                              - 'null'
                            description: URL to online payment
                            examples:
                              - >-
                                https://www.domena-eshopu.cz/api/pay/payu/redir?paymentCode=xyz123
                          language:
                            type: string
                            description: language code of the order
                            examples:
                              - cs
                          referer:
                            type:
                              - string
                              - 'null'
                            description: which page (url) has the user come from
                            examples:
                              - https://www.google.cz/
                          paymentMethods:
                            type: array
                            description: all order payment methods
                            items:
                              type: object
                              additionalProperties: false
                              required:
                                - paymentMethod
                                - itemId
                              properties:
                                paymentMethod:
                                  $ref: '#/components/schemas/paymentMethod'
                                itemId:
                                  type: number
                                  description: payment method identifier within order
                                  examples:
                                    - 564
                          shippings:
                            type: array
                            description: all order shippings
                            items:
                              type: object
                              additionalProperties: false
                              required:
                                - shipping
                                - itemId
                              properties:
                                shipping:
                                  type: object
                                  additionalProperties: false
                                  required:
                                    - guid
                                    - name
                                  description: transport method
                                  properties:
                                    guid:
                                      type:
                                        - string
                                        - 'null'
                                      $ref: '#/components/schemas/typeGuid'
                                      description: transport method identifier
                                    name:
                                      type: string
                                      description: description of transport method
                                      examples:
                                        - PPL
                                itemId:
                                  type: number
                                  description: transport method identifier within order
                                  examples:
                                    - 897
                          items:
                            type: array
                            description: all order items
                            items:
                              $ref: '#/components/schemas/orderItem'
                          notes:
                            type: object
                            additionalProperties: false
                            description: >-
                              order notes (only filled in on request if
                              `include=notes` is listed)
                            required:
                              - customerRemark
                              - eshopRemark
                              - trackingNumber
                              - trackingUrl
                              - additionalFields
                            properties:
                              customerRemark:
                                type:
                                  - string
                                  - 'null'
                                description: customer note
                                examples:
                                  - Better in green
                              eshopRemark:
                                type:
                                  - string
                                  - 'null'
                                description: e-shop order remark.
                                examples:
                                  - Gift wrapping
                              trackingNumber:
                                type:
                                  - string
                                  - 'null'
                                description: shipment number
                                examples:
                                  - DR123456
                              trackingUrl:
                                type:
                                  - string
                                  - 'null'
                                description: package trace link (can be `null`)
                                examples:
                                  - >-
                                    http://www.ppl.cz/main2.aspx?cls=Package&idSearch=DR123456
                              additionalFields:
                                type: array
                                description: >-
                                  can contain up to six additional fields, which
                                  can be freely used by e-shop for its
                                  individual needs.
                                items:
                                  type: object
                                  additionalProperties: false
                                  required:
                                    - index
                                    - label
                                    - text
                                  properties:
                                    index:
                                      type: integer
                                      description: sequence number
                                      examples:
                                        - 1
                                    label:
                                      type: string
                                      description: >-
                                        item name. The name of the field can be
                                        edited in the e-shop administration.
                                      examples:
                                        - 1st field
                                    text:
                                      type:
                                        - string
                                        - 'null'
                                      description: item value (can be `null`)
                                      examples:
                                        - forwarder ID
                  errors:
                    $ref: '#/components/schemas/Errors'
                required:
                  - data
                  - errors
                additionalProperties: false
        '404':
          description: Not Found
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    type: 'null'
                  errors:
                    $ref: '#/components/schemas/Errors'
              example:
                data: null
                errors:
                  - errorCode: order-not-found
                    message: Order "2018000012" not found.
                    instance: '2018000012'
      summary: Update of order status
      operationId: updateOrderStatus
      description: |-
        The endpoint enables the order status, “paid” flag and payment method to
        be updated. This data must be set during a call.

        All the fields to be updated are optional, but at least one has to be
        specified.


        If the key value is "text" for NULL additional field, the originally
        saved text in this field will be deleted.


        If a non-existing key is entered, or the call is erroneous in another
        way, no item is updated.


        If you call the status setting within your request, which has "set the
        order as paid" in the definition, and at the same time you required

        a change of `paid` to `false`, the order status will be carried out and
        the `paid` value set to `false`.


        If the status definition includes sending an e-mail, such an e-mail will
        be sent. If not required, sending an e-mail can be suppressed with the

        `?suppressEmailSending=true` parameter. Similarly, sending information
        SMS messages when the order is changed (if set) can be suppressed
         with the `?suppressSmsSending=true` parameter. In analogy, if the status includes document generation (for example a proforma invoice),
        the document will be generated (if not existent). The generation can be
        suppressed with the `?suppressDocumentGeneration=true` parameter.


        This endpoint tries not to unnecessarily change the order status. If you
        try to set the status that the order already has, no change is done and
        no document is generated.

        When calling the same requests in parallel, there is the risk that there
        may be concurrence and related actions may be executed twice. Therefore
        we recommend calling this request from one source only, in a serial
        manner.


        Order status change might imply automatic documents (e. g. invoice)
        generation. In exceptional cases the generation might fail,

        although the order status itself gets actually changed. In such case the
        API return status code 200 (OK), but in the `data` field

        you can find the order details and in the `errors` array eventually
        details about the failed documents generation. The error

        code is `document-not-generated`. Example of an error message:


        ```

        "errors": [
            {
                "errorCode": "document-not-generated",
                "message": "Delivery note belonging to order \"2020000149\" was not created. Generating document code failed.",
                "instance": "2020000149"
            }
        ]

        ```
      tags:
        - Orders
      parameters:
        - name: code
          in: path
          description: ''
          required: true
          example: '2018000012'
          schema:
            type: string
        - name: suppressDocumentGeneration
          in: query
          description: suppress the generation of linked documents.
          example: 'true'
          schema:
            type: string
            default: 'false'
        - name: suppressEmailSending
          in: query
          description: suppress sending the linked information e-mails.
          example: 'true'
          schema:
            type: string
            default: 'false'
        - name: suppressSmsSending
          in: query
          description: suppress sending the linked information SMS messages.
          example: 'true'
          schema:
            type: string
            default: 'false'
        - $ref: '#/components/parameters/DefaultContentType'
      requestBody:
        content:
          application/vnd.shoptet.v1.0+json:
            schema:
              type: object
              required:
                - data
              properties:
                data:
                  type: object
                  minProperties: 1
                  additionalProperties: false
                  properties:
                    statusId:
                      type: number
                      description: >-
                        new order status. The order statuses are specific for
                        each e-shopand it is possible to gain these from the
                        endpoint [E-shop info](#tag/eshop/geteshopinfo) with the
                        `include=orderStatuses` parameter
                      examples:
                        - -1
                    paid:
                      type:
                        - boolean
                        - 'null'
                      description: paid flag
                      examples:
                        - true
                    billingMethodId:
                      type: number
                      description: >-
                        billing method - see also [code list for billing
                        methods](#section/code-lists/Invoice-Billing-Methods).
                      examples:
                        - 1
  /api/orders/{code}/copy:
    post:
      responses:
        '201':
          description: Created
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    additionalProperties: false
                    required:
                      - order
                    properties:
                      order:
                        type: object
                        additionalProperties: false
                        required:
                          - code
                          - guid
                          - externalCode
                          - creationTime
                          - changeTime
                          - email
                          - phone
                          - clientIPAddress
                          - customerGuid
                          - vatPayer
                          - cashDeskOrder
                          - stockId
                          - addressesEqual
                          - billingMethod
                          - paymentMethod
                          - shipping
                          - adminUrl
                          - status
                          - price
                          - paid
                          - billingAddress
                          - deliveryAddress
                          - items
                        properties:
                          code:
                            type: string
                            description: >-
                              order number. Caution! This does not have to be
                              just a number, it can also contain letters, a
                              dash, etc.
                            examples:
                              - '2017000092'
                          guid:
                            type: string
                            description: >-
                              global unique permanent order identifier (can be
                              `null` for old orders)
                            examples:
                              - c5012051-d7ca-11e0-9a5c-feab5ed617ed
                          externalCode:
                            type:
                              - string
                              - 'null'
                            description: >-
                              Identification of the order in external system (or
                              `null`).
                            examples:
                              - '1234'
                          creationTime:
                            $ref: '#/components/schemas/typeDateTime'
                            description: >-
                              date and time, when the order was created. ISO
                              8601 format.
                          changeTime:
                            type:
                              - string
                              - 'null'
                            $ref: '#/components/schemas/typeDateTime'
                            description: >-
                              date and time of the order's last change. ISO 8601
                              format.
                          email:
                            type:
                              - string
                              - 'null'
                            description: purchaser e-mail (can be `null`)
                            examples:
                              - customer@someemail.com
                          phone:
                            type:
                              - string
                              - 'null'
                            description: purchaser phone number (can be `null`)
                            examples:
                              - '+420604600444'
                          birthDate:
                            type:
                              - string
                              - 'null'
                            description: customer's date of birth stated in the order
                            examples:
                              - '1980-01-01'
                          clientIPAddress:
                            type:
                              - string
                              - 'null'
                            description: IP address of the client who made the order
                            examples:
                              - 213.46.237.24
                          customerGuid:
                            type:
                              - string
                              - 'null'
                            $ref: '#/components/schemas/typeGuidUnlimited'
                            description: >-
                              customer identifier, if the customer is registered
                              in the e-shop (can be `null`)
                          cashDeskOrder:
                            type: boolean
                            description: >-
                              flag, whether the order is from the cash desk (as
                              opposed to the e-shop)
                            examples:
                              - true
                          stockId:
                            type: number
                            description: >-
                              identifier of the stock, from which the order was
                              taken
                            examples:
                              - 1
                          addressesEqual:
                            type: boolean
                            description: >-
                              flag, whether the delivery address is the same as
                              the invoicing address
                            examples:
                              - true
                          vatPayer:
                            type: boolean
                            description: >-
                              Is the tradesman a VAT payer, when purchasing?
                              (can be `null`, if this is unknown)
                            examples:
                              - true
                          vatMode:
                            type:
                              - string
                              - 'null'
                            description: >-
                              VAT mode, for possible values see [VAT
                              modes](#section/code-lists/VAT-modes)
                            examples:
                              - Normal
                          billingMethod:
                            type:
                              - object
                              - 'null'
                            $ref: '#/components/schemas/billingMethod'
                          paymentMethod:
                            type:
                              - object
                              - 'null'
                            $ref: '#/components/schemas/paymentMethod'
                          shipping:
                            type:
                              - object
                              - 'null'
                            $ref: '#/components/schemas/shipping'
                          shippingDetails:
                            type:
                              - object
                              - 'null'
                            additionalProperties: false
                            required:
                              - branchId
                              - shippingCompanyCode
                              - name
                              - note
                              - place
                              - street
                              - city
                              - zipCode
                              - countryCode
                              - link
                              - latitude
                              - longitude
                              - carrierId
                            properties:
                              branchId:
                                type:
                                  - string
                                  - 'null'
                                description: branch identifier
                                examples:
                                  - '4'
                              shippingCompanyCode:
                                type:
                                  - string
                                  - 'null'
                                description: identification of the carrier
                                examples:
                                  - zasilkovna
                              shippingServiceCode:
                                type:
                                  - string
                                  - 'null'
                                description: identification of the carrier's service
                                examples:
                                  - zasilkovna-pickup
                              name:
                                type:
                                  - string
                                  - 'null'
                                description: name of the branch
                                examples:
                                  - Hradec Králové, Square of 5th May 888
                              note:
                                type:
                                  - string
                                  - 'null'
                                description: branch location note, can contain HTML
                                examples:
                                  - >-
                                    <p>Open: Mon-Fri 8:00-18:00, Sat
                                    8:00-12:00</p>
                              place:
                                type:
                                  - string
                                  - 'null'
                                description: location (specify location within address).
                                examples:
                                  - Creator
                              street:
                                type:
                                  - string
                                  - 'null'
                                description: street
                                examples:
                                  - Square of 5th May 888
                              city:
                                type:
                                  - string
                                  - 'null'
                                description: city/town
                                examples:
                                  - Hradec Králové
                              zipCode:
                                type:
                                  - string
                                  - 'null'
                                description: ZIP or postal code
                                examples:
                                  - '50002'
                              countryCode:
                                type:
                                  - string
                                  - 'null'
                                description: country code
                                examples:
                                  - CZ
                              link:
                                type:
                                  - string
                                  - 'null'
                                description: link to the branch's website
                                examples:
                                  - >-
                                    https://www.ulozenka.cz/pobocky/4/hradec-kralove-nam-5-kvetna-888
                              latitude:
                                type:
                                  - string
                                  - 'null'
                                description: GPS coordinates - north latitude
                                examples:
                                  - '50.213673'
                              longitude:
                                type:
                                  - string
                                  - 'null'
                                description: GPS coordinates - east longitude
                                examples:
                                  - '15.832775'
                              carrierId:
                                type:
                                  - integer
                                  - 'null'
                                description: >-
                                  identification of the carrier - now it's used
                                  for Zasilkovna only. The value is `null` for
                                  Czech Zasilkovna or carrier ID for Zasilkovna
                                  in the other countries.
                                examples:
                                  - 3060
                          adminUrl:
                            type: string
                            description: >-
                              URL to administration leading to order detail. URL
                              keeps the administration language settings.
                            examples:
                              - >-
                                https://www.domena-eshopu.cz/admin/objednavky-detail?id=2
                          status:
                            type:
                              - object
                              - 'null'
                            additionalProperties: false
                            required:
                              - name
                              - id
                            properties:
                              name:
                                type:
                                  - string
                                  - 'null'
                                description: status name
                                examples:
                                  - Processing
                              id:
                                type: number
                                description: status identifier
                                examples:
                                  - -1
                          source:
                            type:
                              - object
                              - 'null'
                            additionalProperties: false
                            required:
                              - name
                              - id
                            description: source of the order
                            properties:
                              name:
                                type:
                                  - string
                                  - 'null'
                                description: source name
                                examples:
                                  - E-Shop
                              id:
                                type: number
                                description: source identifier
                                examples:
                                  - -1
                          price:
                            $ref: '#/components/schemas/price'
                            description: price of the order
                          paid:
                            type:
                              - boolean
                              - 'null'
                            description: >-
                              flag, whether the order was paid. In addition to
                              `true` a `false`, can also be `null`, if the
                              payment status is unknown.
                            examples:
                              - true
                          billingAddress:
                            $ref: '#/components/schemas/billingAddress'
                          deliveryAddress:
                            oneOf:
                              - $ref: '#/components/schemas/address'
                              - type: 'null'
                          onlinePaymentLink:
                            type:
                              - string
                              - 'null'
                            description: URL to online payment
                            examples:
                              - >-
                                https://www.domena-eshopu.cz/api/pay/payu/redir?paymentCode=xyz123
                          language:
                            type: string
                            description: language code of the order
                            examples:
                              - cs
                          referer:
                            type:
                              - string
                              - 'null'
                            description: which page (url) has the user come from
                            examples:
                              - https://www.google.cz/
                          paymentMethods:
                            type: array
                            description: all order payment methods
                            items:
                              type: object
                              additionalProperties: false
                              required:
                                - paymentMethod
                                - itemId
                              properties:
                                paymentMethod:
                                  $ref: '#/components/schemas/paymentMethod'
                                itemId:
                                  type: number
                                  description: payment method identifier within order
                                  examples:
                                    - 564
                          shippings:
                            type: array
                            description: all order shippings
                            items:
                              type: object
                              additionalProperties: false
                              required:
                                - shipping
                                - itemId
                              properties:
                                shipping:
                                  type: object
                                  additionalProperties: false
                                  required:
                                    - guid
                                    - name
                                  description: transport method
                                  properties:
                                    guid:
                                      type:
                                        - string
                                        - 'null'
                                      $ref: '#/components/schemas/typeGuid'
                                      description: transport method identifier
                                    name:
                                      type: string
                                      description: description of transport method
                                      examples:
                                        - PPL
                                itemId:
                                  type: number
                                  description: transport method identifier within order
                                  examples:
                                    - 897
                          items:
                            type: array
                            description: all order items
                            items:
                              $ref: '#/components/schemas/orderItem'
                          notes:
                            type: object
                            additionalProperties: false
                            description: >-
                              order notes (only filled in on request if
                              `include=notes` is listed)
                            required:
                              - customerRemark
                              - eshopRemark
                              - trackingNumber
                              - trackingUrl
                              - additionalFields
                            properties:
                              customerRemark:
                                type:
                                  - string
                                  - 'null'
                                description: customer note
                                examples:
                                  - Better in green
                              eshopRemark:
                                type:
                                  - string
                                  - 'null'
                                description: e-shop order remark.
                                examples:
                                  - Gift wrapping
                              trackingNumber:
                                type:
                                  - string
                                  - 'null'
                                description: shipment number
                                examples:
                                  - DR123456
                              trackingUrl:
                                type:
                                  - string
                                  - 'null'
                                description: package trace link (can be `null`)
                                examples:
                                  - >-
                                    http://www.ppl.cz/main2.aspx?cls=Package&idSearch=DR123456
                              additionalFields:
                                type: array
                                description: >-
                                  can contain up to six additional fields, which
                                  can be freely used by e-shop for its
                                  individual needs.
                                items:
                                  type: object
                                  additionalProperties: false
                                  required:
                                    - index
                                    - label
                                    - text
                                  properties:
                                    index:
                                      type: integer
                                      description: sequence number
                                      examples:
                                        - 1
                                    label:
                                      type: string
                                      description: >-
                                        item name. The name of the field can be
                                        edited in the e-shop administration.
                                      examples:
                                        - 1st field
                                    text:
                                      type:
                                        - string
                                        - 'null'
                                      description: item value (can be `null`)
                                      examples:
                                        - forwarder ID
                  errors:
                    $ref: '#/components/schemas/Errors'
                required:
                  - data
                  - errors
                additionalProperties: false
        '404':
          description: Not Found
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    type:
                      - object
                      - 'null'
                  errors:
                    $ref: '#/components/schemas/Errors'
              example:
                data: null
                errors:
                  - errorCode: order-not-found
                    message: Order "2018000012" not found.
                    instance: '2018000012'
        '500':
          description: Internal server error
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    type: 'null'
                  errors:
                    $ref: '#/components/schemas/Errors'
              example:
                data: null
                errors:
                  - errorCode: unknown-error
                    message: Unknown error occurred during order duplication.
                    instance: payload
      summary: Order copy
      operationId: orderCopy
      parameters:
        - name: code
          in: path
          description: ''
          required: true
          example: '2018000012'
          schema:
            type: string
        - name: include
          in: query
          description: optional parts of response
          example: notes,images,shippingDetails,stockLocation,productFlags
          schema:
            type: string
        - $ref: '#/components/parameters/DefaultContentType'
      description: >-
        This endpoint allows you to copy a order identified by its code.


        You can choose scope in which will be the order copied. The scope can be

        - `all` - copy the order with all its items

        - `no-billing-shipping` - copy the order without billing and shipping
        items

        - `contact-only` - copy the order without any items


        Please note, that copy order creates stock demand  (if stock module is
        active and negative stock amount is not allowed) and if this demand 
        overflows the stock, the order will be fully created with error
        `order-duplication-stock-overflow`. 


        You can use `include` parameter to include additional parts of response,
        same as in `GET` order detail, to retrieve more information about the
        copied order in copy response.
      tags:
        - Orders
      requestBody:
        content:
          application/vnd.shoptet.v1.0+json:
            schema:
              type: object
              required:
                - data
              properties:
                data:
                  type: object
                  required:
                    - scope
                  properties:
                    scope:
                      type: string
                      enum:
                        - all
                        - no-billing-shipping
                        - contact-only
                      examples:
                        - all
                      description: >-
                        Scope of the order copy. Check endpoint description for
                        more information.
  /api/orders/statuses:
    get:
      responses:
        '200':
          description: OK
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    required:
                      - statuses
                      - defaultStatus
                    additionalProperties: false
                    properties:
                      defaultStatus:
                        type: number
                      statuses:
                        type: array
                        items:
                          type: object
                          required:
                            - id
                            - name
                            - system
                            - order
                            - markAsPaid
                            - changeOrderItems
                            - stockClaimResolved
                            - documents
                          additionalProperties: false
                          properties:
                            id:
                              type: number
                              description: order status id
                              examples:
                                - 1
                            name:
                              type: string
                              description: order status name
                              examples:
                                - Pending
                            system:
                              type: boolean
                              description: Is this the system status?
                              examples:
                                - true
                            order:
                              type: number
                              description: status order sequence in the administration
                              examples:
                                - 1
                            markAsPaid:
                              type: boolean
                              description: >-
                                Should the order be marked as paid in this
                                status?
                              examples:
                                - false
                            color:
                              type:
                                - string
                                - 'null'
                              description: color of orders in this status
                              examples:
                                - '#bada55'
                            backgroundColor:
                              type:
                                - string
                                - 'null'
                              description: background of order in this status
                              examples:
                                - '#bada55'
                            changeOrderItems:
                              type: boolean
                              description: change status of the items in the order
                              examples:
                                - false
                            stockClaimResolved:
                              type: boolean
                              description: stock demand resolved
                              examples:
                                - false
                            documents:
                              type: object
                              required:
                                - generateProformaInvoice
                                - generateInvoice
                                - generateDeliveryNote
                                - generateProofPayment
                              additionalProperties: false
                              properties:
                                generateProformaInvoice:
                                  type: boolean
                                  description: >-
                                    proforma invoice is generated in this
                                    status.
                                  examples:
                                    - true
                                generateInvoice:
                                  type: boolean
                                  description: tax document is generated in this status.
                                  examples:
                                    - true
                                generateDeliveryNote:
                                  type: boolean
                                  description: delivery note is generated in this status.
                                  examples:
                                    - true
                                generateProofPayment:
                                  type:
                                    - boolean
                                    - 'null'
                                  description: >-
                                    proof of payment is generated in this
                                    status.
                                  examples:
                                    - true
                  errors:
                    $ref: '#/components/schemas/Errors'
                required:
                  - data
                  - errors
                additionalProperties: false
      summary: List of order statuses
      operationId: getListOfOrderStatuses
      description: Detailed information on order status within the e-shop.
      tags:
        - Orders
      parameters:
        - $ref: '#/components/parameters/DefaultContentType'
  /api/orders/sources:
    get:
      responses:
        '200':
          description: OK
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    required:
                      - sources
                    additionalProperties: false
                    properties:
                      sources:
                        type: array
                        items:
                          type: object
                          required:
                            - id
                            - name
                          additionalProperties: false
                          properties:
                            id:
                              type: number
                              description: order source ID, it can also be negative
                              examples:
                                - -1
                            name:
                              type: string
                              description: The name of the order source.
                              examples:
                                - E-shop
                  errors:
                    $ref: '#/components/schemas/Errors'
                required:
                  - data
                  - errors
                additionalProperties: false
      summary: List of order sources
      operationId: getListOfOrderSources
      description: >-
        Detailed information on current possible order sources within the
        e-shop.
      tags:
        - Orders
      parameters:
        - $ref: '#/components/parameters/DefaultContentType'
  /api/orders/changes:
    get:
      responses:
        '200':
          description: OK
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    additionalProperties: false
                    required:
                      - changes
                      - paginator
                    properties:
                      changes:
                        type: array
                        items:
                          type: object
                          additionalProperties: false
                          required:
                            - code
                            - changeTime
                            - changeType
                          properties:
                            code:
                              type: string
                              description: >-
                                identifier (number) of the order, which can be
                                used to query about the details.
                              examples:
                                - '201800001'
                            changeTime:
                              $ref: '#/components/schemas/typeDateTime'
                              description: >-
                                date and time when the event happened. ISO 8601
                                format (`2017-12-12T22:08:01+0100`).
                            changeType:
                              type: string
                              description: >-
                                type of event that happened with the entity.
                                Possible values are following: `add`, `edit`,
                                `delete`.
                              examples:
                                - edit
                      paginator:
                        $ref: '#/components/schemas/paginator'
                  errors:
                    $ref: '#/components/schemas/Errors'
                required:
                  - data
                  - errors
                additionalProperties: false
      summary: Last order changes
      operationId: getLastOrderChanges
      description: >-
        The Endpoint is intended to determine the changes after you have loaded
        the complete list of orders and you need to know,

        if any of these has been changed (or deleted). Guaranteed history is 30
        days, the older data are deleted progressively.



        Each order in the log is only mentioned with its last change. For
        example, if the order was modified and then deleted,

        the log will only show information about its deletion.



        Can be filtered by changeType = edit/delete parameter.



        Creation is considered as `edit` action. So, when there is a new item
        created, it will be displayed like `edit` action.



        Endpoint supports
        [pagination](#section/basic-principles-of-working-with-api/Paging).
      tags:
        - Orders
      parameters:
        - name: from
          in: query
          description: >-
            DateTime from which up to the present we are interested in the
            changes. + in the time zone
          required: true
          example: '2018-01-01T01:01:01+02:00'
          schema:
            type: string
        - name: changeType
          in: query
          description: Returning only edit or delete type changed records
          required: false
          example: edit
          schema:
            type: string
        - $ref: '#/components/parameters/DefaultContentType'
  /api/orders/gifts:
    get:
      responses:
        '200':
          description: OK
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    additionalProperties: false
                    required:
                      - items
                    properties:
                      items:
                        type: array
                        items:
                          $ref: '#/components/schemas/orderGift'
                  errors:
                    $ref: '#/components/schemas/Errors'
                required:
                  - data
                  - errors
                additionalProperties: false
      summary: Get order gifts list
      operationId: getOrderGiftsList
      description: >-
        This endpoint allow get, add or delete order related gifts. Gifts is
        relation to product variant by its

        `code` identifier and is ordered by `priority` field
      tags:
        - Orders
      parameters:
        - $ref: '#/components/parameters/DefaultContentType'
    post:
      responses:
        '200':
          description: OK
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    additionalProperties: false
                    required:
                      - items
                    properties:
                      items:
                        type: array
                        items:
                          $ref: '#/components/schemas/orderGift'
                  errors:
                    $ref: '#/components/schemas/Errors'
                required:
                  - data
                  - errors
                additionalProperties: false
      summary: Add order gift at the end of the list
      operationId: addOrderGift
      description: |-
        Add order gift (product variant) at the end of the order gift list. Gift
        is defined by `code`.

        `code`, `orderPrice` and `currencyCode` is required.
      tags:
        - Orders
      requestBody:
        content:
          application/vnd.shoptet.v1.0+json:
            schema:
              type: object
              additionalProperties: false
              required:
                - data
              properties:
                data:
                  type: object
                  required:
                    - code
                    - orderPrice
                    - currencyCode
                  additionalProperties: false
                  properties:
                    code:
                      type: string
                      description: code od product variant
                      examples:
                        - '0005'
                    currencyCode:
                      $ref: '#/components/schemas/typeCurrencyCode'
                    orderPrice:
                      $ref: '#/components/schemas/typePrice'
                      description: >-
                        price which order total price should overcome. to add
                        this gift
                    includingVat:
                      type: boolean
                      description: if true, orderPrice is including VAT
                      examples:
                        - true
      parameters:
        - $ref: '#/components/parameters/DefaultContentType'
  /api/orders/gifts/{id}:
    delete:
      responses:
        '200':
          description: OK
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              example:
                data: null
                errors:
                  - errorCode: example-error-code
                    message: Example error message
                    instance: instance
              schema:
                type: object
                properties:
                  data:
                    type: 'null'
                    additionalProperties: false
                  errors:
                    $ref: '#/components/schemas/Errors'
                required:
                  - data
                  - errors
                additionalProperties: false
      summary: Delete order gift
      operationId: deleteOrderGift
      description: Delete order gift item by primary key.
      tags:
        - Orders
      parameters:
        - name: id
          in: path
          description: ID of gift
          required: true
          example: '4'
          schema:
            type: number
        - $ref: '#/components/parameters/DefaultContentType'
  /api/orders/gifts/settings:
    get:
      responses:
        '200':
          description: OK
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    required:
                      - stockDependent
                      - wholesaleGiftsEnabled
                      - productGifts
                    additionalProperties: false
                    properties:
                      stockDependent:
                        type: boolean
                        description: >-
                          define if gifts are dependent on each product or whole
                          order, stock dependent/independent
                        examples:
                          - false
                      wholesaleGiftsEnabled:
                        type: boolean
                        description: >-
                          define if customer with wholesale module have gifts
                          offer available
                        examples:
                          - true
                      productGifts:
                        type: string
                        description: >-
                          set if gifts are dependent on each product or whole
                          order, possible values are `per-amount` and `per-order
                        examples:
                          - per-amount
                  errors:
                    $ref: '#/components/schemas/Errors'
                required:
                  - data
                  - errors
                additionalProperties: false
      summary: Get order gift settings
      operationId: getOrderGiftSettings
      description: >-
        There are order gift setting, which influence general behaviour.


        - The behavior of the gifts - set if gifts are dependent on each product
        or whole order (stock dependent/independent)

        - Offer to wholesale customers - define if customer with wholesale
        module have gifts offer available

        - Gift to whole order or each product
      tags:
        - Orders
      parameters:
        - $ref: '#/components/parameters/DefaultContentType'
    patch:
      responses:
        '200':
          description: OK
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    required:
                      - stockDependent
                      - wholesaleGiftsEnabled
                      - productGifts
                    additionalProperties: false
                    properties:
                      stockDependent:
                        type: boolean
                        description: >-
                          define if gifts are dependent on each product or whole
                          order, stock dependent/independent
                        examples:
                          - false
                      wholesaleGiftsEnabled:
                        type: boolean
                        description: >-
                          define if customer with wholesale module have gifts
                          offer available
                        examples:
                          - true
                      productGifts:
                        type: string
                        description: >-
                          set if gifts are dependent on each product or whole
                          order, possible values are `per-amount` and `per-order
                        examples:
                          - per-amount
                  errors:
                    $ref: '#/components/schemas/Errors'
                required:
                  - data
                  - errors
                additionalProperties: false
      summary: Update order gift settings
      operationId: updateOrderGiftSettings
      description: |-
        Method updates order gift settings. Every item in request body is
        optional, but at least one setting is required.
      tags:
        - Orders
      requestBody:
        content:
          application/vnd.shoptet.v1.0+json:
            schema:
              type: object
              additionalProperties: false
              required:
                - data
              properties:
                data:
                  type: object
                  additionalProperties: false
                  properties:
                    stockDependent:
                      type: boolean
                      description: >-
                        define if gifts are dependent on each product or whole
                        order, stock dependent/independent
                      examples:
                        - false
                    wholesaleGiftsEnabled:
                      type: boolean
                      description: >-
                        define if customer with wholesale module have gifts
                        offer available
                      examples:
                        - true
                    productGifts:
                      type: string
                      enum:
                        - per-amount
                        - per-order
                      description: >-
                        set if gifts are dependent on each product or whole
                        order, possible values are `per-amount` and `per-order
                      examples:
                        - per-amount
      parameters:
        - $ref: '#/components/parameters/DefaultContentType'
  /api/invoices:
    get:
      responses:
        '200':
          description: OK
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    additionalProperties: false
                    required:
                      - invoices
                      - paginator
                    properties:
                      invoices:
                        type: array
                        items:
                          type: object
                          additionalProperties: false
                          required:
                            - code
                            - varSymbol
                            - isValid
                            - proformaInvoiceCode
                            - orderCode
                            - creationTime
                            - billCompany
                            - billFullName
                            - price
                          properties:
                            code:
                              type: string
                              description: variant code (product)
                              examples:
                                - '2015000001'
                            varSymbol:
                              type:
                                - number
                                - 'null'
                              description: variable symbol
                              examples:
                                - '666'
                            isValid:
                              type: boolean
                              description: is the invoice valid?
                              examples:
                                - true
                            proformaInvoiceCode:
                              type:
                                - string
                                - 'null'
                              description: >-
                                proforma invoice number. Caution! This does not
                                have to be just a number, it can also contain
                                letters, a dash, etc.
                              examples:
                                - '2017000017'
                            orderCode:
                              type:
                                - string
                                - 'null'
                              description: >-
                                purchase order number. Caution! This does not
                                have to be just a number, it can also contain
                                letters, a dash, etc.
                              examples:
                                - '2017000017'
                            creationTime:
                              $ref: '#/components/schemas/typeDateTime'
                              description: date of issue, in ISO 8601 format
                            billCompany:
                              type:
                                - string
                                - 'null'
                              description: company name
                              examples:
                                - Company s.r.o.
                            billFullName:
                              type:
                                - string
                                - 'null'
                              description: full name
                              examples:
                                - John Doe
                            price:
                              $ref: '#/components/schemas/price'
                            changeTime:
                              $ref: '#/components/schemas/typeDateTime'
                              description: date of change, in ISO 8601 format
                            dueDate:
                              $ref: '#/components/schemas/typeDate'
                              description: due date in ISO 8601 format
                            taxDate:
                              $ref: '#/components/schemas/typeDate'
                              description: taxation date in ISO 8601 format
                      paginator:
                        $ref: '#/components/schemas/paginator'
                  errors:
                    $ref: '#/components/schemas/Errors'
                required:
                  - data
                  - errors
                additionalProperties: false
      summary: List of invoices
      operationId: getListOfInvoices
      description: >-
        Returns the list of invoices with basic information. 

        The list of invoices supports
        [paging](#section/basic-principles-of-working-with-api/Paging)



        The code (`code`) is the invoice identifier. Although this is usually a
        number, 

        it is necessary to take into account that this might also include

        letters, a dash, etc. Filtering uses string comparison with >=, <=
        operators.
      tags:
        - Invoices
      parameters:
        - name: isValid
          in: query
          description: filtering according to document validity
          schema:
            type: boolean
        - name: proformaInvoiceCode
          in: query
          description: filtering according to number of proforma invoice
          schema:
            type: string
        - name: creationTimeFrom
          in: query
          description: filtering according to date of invoice issue
          schema:
            type: string
        - name: creationTimeTo
          in: query
          description: filtering according to date of invoice issue
          schema:
            type: string
        - name: taxDateFrom
          in: query
          description: filtering according to tax date of invoice
          schema:
            type: string
        - name: orderCode
          in: query
          description: filtering according to order code of invoice
          schema:
            type: string
        - name: codeFrom
          in: query
          description: filtering according to code of invoice
          schema:
            type: string
        - name: codeTo
          in: query
          description: filtering according to code of invoice
          schema:
            type: string
        - name: varSymbol
          in: query
          description: filtering according to variable symbol of invoice
          schema:
            type: string
        - $ref: '#/components/parameters/DefaultContentType'
  /api/invoices/snapshot:
    get:
      responses:
        '202':
          description: Accepted
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    additionalProperties: false
                    required:
                      - jobId
                    properties:
                      jobId:
                        examples:
                          - ad24xod
                        description: token of job
                        type: string
      summary: List of all invoices
      operationId: getListOfAllInvoices
      description: >-
        Using this endpoint, you can get list of all invoices with detailed info
        of each invoice (like in Invoice Detail endpoint) asynchronously. 

        See how [Asynchronous
        requests](https://developers.shoptet.com/asynchronous-requests/) work on
        our

        developer's portal.



        Response will be in [jsonlines](https://jsonlines.org/) format with each
        product taking one line of output file.

        One invoice in response has the same format as invoice detail response.



        Result file is compressed using GZIP.



        This endpoint has several sections, which are only sent when requested
        in the `include` parameter (see

        [Requested
        sections](#section/basic-principles-of-working-with-api/Section-on-demand)).



        Value | Section

        --------|------

        `surchargeParameters`| Item surcharge parameters
      tags:
        - Invoices
      parameters:
        - name: include
          in: query
          description: Sections to include
          example: surchargeParameters
          schema:
            type: string
        - name: creationTimeFrom
          in: query
          description: Export invoices created after date
          example: 2014-09-05T00:00:00%2B0000
          schema:
            type: string
        - name: creationTimeTo
          in: query
          description: Export invoices created before date
          example: 2019-09-05T00:00:00%2B0000
          schema:
            type: string
        - name: changeTimeFrom
          in: query
          description: Export invoices updated after date
          example: 2014-09-05T00:00:00%2B0000
          schema:
            type: string
        - name: changeTimeTo
          in: query
          description: Export invoices updated before date
          example: 2019-09-05T00:00:00%2B0000
          schema:
            type: string
        - name: codeFrom
          in: query
          description: Export invoices with code after given value
          example: '0000000006'
          schema:
            type: string
        - name: codeTo
          in: query
          description: Export invoices with code before given value
          example: '0000000006'
          schema:
            type: string
        - name: proformaInvoiceCodeFrom
          in: query
          description: Export invoices with proforma invoice code after given value
          example: '2017000010'
          schema:
            type: string
        - name: proformaInvoiceCodeTo
          in: query
          description: Export invoices with proforma invoice code befor given value
          example: '2017000010'
          schema:
            type: string
        - name: dueDateFrom
          in: query
          description: Export invoices with due date after date
          example: 2014-09-05T00:00:00%2B0000
          schema:
            type: string
        - name: dueDateTo
          in: query
          description: Export invoices with due date before date
          example: 2019-09-05T00:00:00%2B0000
          schema:
            type: string
        - name: taxDateFrom
          in: query
          description: Export invoices with tax date after date
          example: 2014-09-05T00:00:00%2B0000
          schema:
            type: string
        - name: taxDateTo
          in: query
          description: Export invoices with tax date before date
          example: 2019-09-05T00:00:00%2B0000
          schema:
            type: string
        - name: orderCodeFrom
          in: query
          description: Export invoices with order code after given value
          example: '2017000010'
          schema:
            type: string
        - name: orderCodeTo
          in: query
          description: Export invoices with order code before given value
          example: '2017000010'
          schema:
            type: string
        - name: customerGuid
          in: query
          description: Export invoices with given customer
          example: 443cad54-73bc-11e8-8216-002590dad85e
          schema:
            type: string
        - name: varSymbol
          in: query
          description: Export invoices with given variable symbol
          example: '2010001'
          schema:
            type: string
        - name: isValid
          in: query
          description: Filtering according to document validity
          example: 'true'
          schema:
            type: boolean
        - name: hasTaxId
          in: query
          description: Filtering according to the presence of a TAX identification number
          example: 'true'
          schema:
            type: boolean
        - name: hasVatId
          in: query
          description: Filtering according to the presence of a VAT identification number
          example: 'true'
          schema:
            type: boolean
        - name: hasCompanyId
          in: query
          description: Filtering according to the presence of a company registration number
          example: 'true'
          schema:
            type: boolean
        - $ref: '#/components/parameters/DefaultContentType'
  /api/invoices/{code}:
    get:
      responses:
        '200':
          description: OK
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    additionalProperties: false
                    required:
                      - invoice
                    properties:
                      invoice:
                        type: object
                        required:
                          - code
                          - isValid
                          - proformaInvoiceCode
                          - orderCode
                          - creationTime
                          - changeTime
                          - dueDate
                          - taxDate
                          - varSymbol
                          - constSymbol
                          - specSymbol
                          - weight
                          - completePackageWeight
                          - billingMethod
                          - billingAddress
                          - deliveryAddress
                          - addressesEqual
                          - price
                          - customer
                          - eshop
                          - items
                          - documentRemark
                          - vatPayer
                        additionalProperties: false
                        properties:
                          code:
                            type: string
                            description: variant code (product)
                            examples:
                              - '2015000001'
                          isValid:
                            type: boolean
                            description: is the invoice valid?
                            examples:
                              - true
                          proformaInvoiceCode:
                            type:
                              - string
                              - 'null'
                            description: >-
                              proforma invoice number. Caution! This does not
                              have to be just a number, it can also contain
                              letters, a dash, etc.
                            examples:
                              - '2017000017'
                          orderCode:
                            type:
                              - string
                              - 'null'
                            description: >-
                              purchase order number. Caution! This does not have
                              to be just a number, it can also contain letters,
                              a dash, etc.
                            examples:
                              - '2017000017'
                          creationTime:
                            $ref: '#/components/schemas/typeDateTime'
                            description: date of issue, in ISO 8601 format
                          changeTime:
                            $ref: '#/components/schemas/typeDateTime'
                            description: date of change, in ISO 8601 format
                          dueDate:
                            type:
                              - string
                              - 'null'
                            $ref: '#/components/schemas/typeDate'
                            description: due date in ISO 8601 format
                          taxDate:
                            type:
                              - string
                              - 'null'
                            $ref: '#/components/schemas/typeDate'
                            description: taxation date in ISO 8601 format
                          varSymbol:
                            type: number
                            description: variable symbol
                            examples:
                              - '666'
                          constSymbol:
                            type:
                              - string
                              - 'null'
                            description: constant symbol
                            examples:
                              - '6583'
                          specSymbol:
                            type:
                              - number
                              - 'null'
                            description: specific symbol
                            examples:
                              - '36534576'
                          weight:
                            type:
                              - string
                              - 'null'
                            $ref: '#/components/schemas/typeWeightUnlimited'
                            description: weight in kg, unpacked. 3 decimal places.
                          completePackageWeight:
                            type:
                              - string
                              - 'null'
                            $ref: '#/components/schemas/typeWeightUnlimited'
                            description: total weight of package in kg. 3 decimal places.
                          billingMethod:
                            description: information about the method of payment
                            oneOf:
                              - $ref: '#/components/schemas/billingMethod'
                              - type: 'null'
                          billingAddress:
                            type: object
                            $ref: '#/components/schemas/billingAddress'
                            description: invoicing address
                          deliveryAddress:
                            type:
                              - object
                              - 'null'
                            $ref: '#/components/schemas/address'
                          addressesEqual:
                            type: boolean
                            description: are the billing and delivery addresses the same?
                            examples:
                              - true
                          price:
                            type: object
                            $ref: '#/components/schemas/price'
                          customer:
                            type: object
                            $ref: '#/components/schemas/documentCustomer'
                          eshop:
                            type: object
                            $ref: '#/components/schemas/eshop'
                          items:
                            type: array
                            description: content of the invoice
                            items:
                              $ref: '#/components/schemas/invoiceItem'
                          documentRemark:
                            type:
                              - string
                              - 'null'
                            description: remark for the document
                            examples:
                              - remark
                          vatPayer:
                            type: boolean
                            description: is the e-shop a VAT payer?
                          vatMode:
                            type:
                              - string
                              - 'null'
                            description: >-
                              VAT mode, can be null, possible values: `Normal`,
                              `One Stop Shop`, `Mini One Stop Shop`, `Reverse
                              charge`, `Outside the EU`
                            examples:
                              - Normal
                          proofPayments:
                            $ref: '#/components/schemas/proofPaymentsForInvoice'
                            description: List of linked proof payments
                  errors:
                    $ref: '#/components/schemas/Errors'
                required:
                  - data
                  - errors
                additionalProperties: false
        '404':
          description: Not Found
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    type: 'null'
                  errors:
                    $ref: '#/components/schemas/Errors'
              example:
                data: null
                errors:
                  - errorCode: invoice-not-found
                    message: Invoice with code "000000000633" not found.
                    instance: '000000000633'
      summary: Invoice detail
      operationId: getInvoiceDetail
      description: >-
        Detailed information about one invoice.



        In most cases the items in the response are the same as you can see in
        the administration of PDF printout of an invoice.

        There are however some advanced cases (in case of coupon discount with
        absolute value or in case of

        a volume discount and products with multiple VAT rates in the invoice),
        in which case they are different:



        - Administration and PDF will show multiple rows for the discount – for
        each VAT rate one row and the price field split evenly.

        - API response will return only one row indication the total discount
        price.



        The difference is based on how data is internally stored and presented.
        The API is bases more on internal storage principle,

        there is however also an array `displayPrices`, which contains the
        presentation (printout) form of each item.



        This endpoint has several sections, which are only sent when requested
        in the `include` parameter (see

        [Requested
        sections](#section/basic-principles-of-working-with-api/Section-on-demand)).


        Value | Section

        --------|------

        `surchargeParameters`| Item surcharge parameters
      tags:
        - Invoices
      parameters:
        - name: code
          in: path
          description: ''
          required: true
          example: '2018000004'
          schema:
            type: string
        - $ref: '#/components/parameters/DefaultContentType'
  /api/orders/{code}/invoice:
    post:
      responses:
        '201':
          description: Created
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    additionalProperties: false
                    required:
                      - invoice
                    properties:
                      invoice:
                        type: object
                        required:
                          - code
                          - isValid
                          - proformaInvoiceCode
                          - orderCode
                          - creationTime
                          - changeTime
                          - dueDate
                          - taxDate
                          - varSymbol
                          - constSymbol
                          - specSymbol
                          - weight
                          - completePackageWeight
                          - billingMethod
                          - billingAddress
                          - deliveryAddress
                          - addressesEqual
                          - price
                          - customer
                          - eshop
                          - items
                          - documentRemark
                          - vatPayer
                        additionalProperties: false
                        properties:
                          code:
                            type: string
                            description: variant code (product)
                            examples:
                              - '2015000001'
                          isValid:
                            type: boolean
                            description: is the invoice valid?
                            examples:
                              - true
                          proformaInvoiceCode:
                            type:
                              - string
                              - 'null'
                            description: >-
                              proforma invoice number. Caution! This does not
                              have to be just a number, it can also contain
                              letters, a dash, etc.
                            examples:
                              - '2017000017'
                          orderCode:
                            type:
                              - string
                              - 'null'
                            description: >-
                              purchase order number. Caution! This does not have
                              to be just a number, it can also contain letters,
                              a dash, etc.
                            examples:
                              - '2017000017'
                          creationTime:
                            $ref: '#/components/schemas/typeDateTime'
                            description: date of issue, in ISO 8601 format
                          changeTime:
                            $ref: '#/components/schemas/typeDateTime'
                            description: date of change, in ISO 8601 format
                          dueDate:
                            type:
                              - string
                              - 'null'
                            $ref: '#/components/schemas/typeDate'
                            description: due date in ISO 8601 format
                          taxDate:
                            type:
                              - string
                              - 'null'
                            $ref: '#/components/schemas/typeDate'
                            description: taxation date in ISO 8601 format
                          varSymbol:
                            type: number
                            description: variable symbol
                            examples:
                              - '666'
                          constSymbol:
                            type:
                              - string
                              - 'null'
                            description: constant symbol
                            examples:
                              - '6583'
                          specSymbol:
                            type:
                              - number
                              - 'null'
                            description: specific symbol
                            examples:
                              - '36534576'
                          weight:
                            type:
                              - string
                              - 'null'
                            $ref: '#/components/schemas/typeWeightUnlimited'
                            description: weight in kg, unpacked. 3 decimal places.
                          completePackageWeight:
                            type:
                              - string
                              - 'null'
                            $ref: '#/components/schemas/typeWeightUnlimited'
                            description: total weight of package in kg. 3 decimal places.
                          billingMethod:
                            description: information about the method of payment
                            oneOf:
                              - $ref: '#/components/schemas/billingMethod'
                              - type: 'null'
                          billingAddress:
                            type: object
                            $ref: '#/components/schemas/billingAddress'
                            description: invoicing address
                          deliveryAddress:
                            type:
                              - object
                              - 'null'
                            $ref: '#/components/schemas/address'
                          addressesEqual:
                            type: boolean
                            description: are the billing and delivery addresses the same?
                            examples:
                              - true
                          price:
                            type: object
                            $ref: '#/components/schemas/price'
                          customer:
                            type: object
                            $ref: '#/components/schemas/documentCustomer'
                          eshop:
                            type: object
                            $ref: '#/components/schemas/eshop'
                          items:
                            type: array
                            description: content of the invoice
                            items:
                              $ref: '#/components/schemas/invoiceItem'
                          documentRemark:
                            type:
                              - string
                              - 'null'
                            description: remark for the document
                            examples:
                              - remark
                          vatPayer:
                            type: boolean
                            description: is the e-shop a VAT payer?
                          vatMode:
                            type:
                              - string
                              - 'null'
                            description: >-
                              VAT mode, can be null, possible values: `Normal`,
                              `One Stop Shop`, `Mini One Stop Shop`, `Reverse
                              charge`, `Outside the EU`
                            examples:
                              - Normal
                          proofPayments:
                            $ref: '#/components/schemas/proofPaymentsForInvoice'
                            description: List of linked proof payments
                  errors:
                    $ref: '#/components/schemas/Errors'
                required:
                  - data
                  - errors
                additionalProperties: false
      summary: Invoice from order creation
      operationId: createInvoiceFromOrder
      description: Creating invoice from existing order.
      tags:
        - Invoices
      parameters:
        - name: code
          in: path
          description: Code of order
          required: true
          example: '2018000053'
          schema:
            type: string
        - name: suppressExistenceCheck
          in: query
          description: |-
            suppress checking of existing invoices per order (allows multiple
            invoices per order)
          example: 'true'
          schema:
            type: string
            default: 'false'
        - $ref: '#/components/parameters/DefaultContentType'
      requestBody:
        content:
          application/vnd.shoptet.v1.0+json:
            schema:
              type: object
              required:
                - data
              properties:
                data:
                  type: object
                  additionalProperties: false
                  properties:
                    invoiceCode:
                      type: string
                      description: >-
                        Invoice code. Optional, generated by eshop settings if
                        not set.
                      examples:
                        - '2021000021'
                    varSymbol:
                      type: number
                      minimum: 0
                      maximum: 9999999999
                      description: >-
                        Variable symbol. Optional, generated by eshop settings
                        if not set.
                      examples:
                        - 2021000021
                    dueDate:
                      $ref: '#/components/schemas/typeDate'
                      description: >-
                        Due date. Optional, generated by eshop settings if not
                        set.
                    taxDate:
                      $ref: '#/components/schemas/typeDate'
                      description: Date of taxation. Default is today.
                    constSymbol:
                      $ref: '#/components/schemas/typeConstSymbol'
                      description: Const symbol. Only numbers are allowed (max length 4).
                    specSymbol:
                      type: number
                      minimum: 0
                      maximum: 9999999999
                      description: Spec symbol.
                      examples:
                        - 201323134
                    billingMethodId:
                      type:
                        - number
                        - 'null'
                      description: >-
                        Id of [billing
                        method](#section/code-lists/Invoice-Billing-Methods).
                        Defaults to order's.
                      examples:
                        - 1
                    proformaInvoiceCode:
                      type: string
                      description: Code of proforma invoice. Must exist if set.
                      examples:
                        - '202100032'
                    proofPaymentCodes:
                      type: array
                      description: List of linked proof payments.
                      items:
                        type: string
                        examples:
                          - O-2018000053-01
  /api/invoices/{code}/link-proof-payment:
    patch:
      responses:
        '200':
          description: OK
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    additionalProperties: false
                    required:
                      - invoice
                    properties:
                      invoice:
                        type: object
                        required:
                          - code
                          - isValid
                          - proformaInvoiceCode
                          - orderCode
                          - creationTime
                          - changeTime
                          - dueDate
                          - taxDate
                          - varSymbol
                          - constSymbol
                          - specSymbol
                          - weight
                          - completePackageWeight
                          - billingMethod
                          - billingAddress
                          - deliveryAddress
                          - addressesEqual
                          - price
                          - customer
                          - eshop
                          - items
                          - documentRemark
                          - vatPayer
                        additionalProperties: false
                        properties:
                          code:
                            type: string
                            description: variant code (product)
                            examples:
                              - '2015000001'
                          isValid:
                            type: boolean
                            description: is the invoice valid?
                            examples:
                              - true
                          proformaInvoiceCode:
                            type:
                              - string
                              - 'null'
                            description: >-
                              proforma invoice number. Caution! This does not
                              have to be just a number, it can also contain
                              letters, a dash, etc.
                            examples:
                              - '2017000017'
                          orderCode:
                            type:
                              - string
                              - 'null'
                            description: >-
                              purchase order number. Caution! This does not have
                              to be just a number, it can also contain letters,
                              a dash, etc.
                            examples:
                              - '2017000017'
                          creationTime:
                            $ref: '#/components/schemas/typeDateTime'
                            description: date of issue, in ISO 8601 format
                          changeTime:
                            $ref: '#/components/schemas/typeDateTime'
                            description: date of change, in ISO 8601 format
                          dueDate:
                            type:
                              - string
                              - 'null'
                            $ref: '#/components/schemas/typeDate'
                            description: due date in ISO 8601 format
                          taxDate:
                            type:
                              - string
                              - 'null'
                            $ref: '#/components/schemas/typeDate'
                            description: taxation date in ISO 8601 format
                          varSymbol:
                            type: number
                            description: variable symbol
                            examples:
                              - '666'
                          constSymbol:
                            type:
                              - string
                              - 'null'
                            description: constant symbol
                            examples:
                              - '6583'
                          specSymbol:
                            type:
                              - number
                              - 'null'
                            description: specific symbol
                            examples:
                              - '36534576'
                          weight:
                            type:
                              - string
                              - 'null'
                            $ref: '#/components/schemas/typeWeightUnlimited'
                            description: weight in kg, unpacked. 3 decimal places.
                          completePackageWeight:
                            type:
                              - string
                              - 'null'
                            $ref: '#/components/schemas/typeWeightUnlimited'
                            description: total weight of package in kg. 3 decimal places.
                          billingMethod:
                            description: information about the method of payment
                            oneOf:
                              - $ref: '#/components/schemas/billingMethod'
                              - type: 'null'
                          billingAddress:
                            type: object
                            $ref: '#/components/schemas/billingAddress'
                            description: invoicing address
                          deliveryAddress:
                            type:
                              - object
                              - 'null'
                            $ref: '#/components/schemas/address'
                          addressesEqual:
                            type: boolean
                            description: are the billing and delivery addresses the same?
                            examples:
                              - true
                          price:
                            type: object
                            $ref: '#/components/schemas/price'
                          customer:
                            type: object
                            $ref: '#/components/schemas/documentCustomer'
                          eshop:
                            type: object
                            $ref: '#/components/schemas/eshop'
                          items:
                            type: array
                            description: content of the invoice
                            items:
                              $ref: '#/components/schemas/invoiceItem'
                          documentRemark:
                            type:
                              - string
                              - 'null'
                            description: remark for the document
                            examples:
                              - remark
                          vatPayer:
                            type: boolean
                            description: is the e-shop a VAT payer?
                          vatMode:
                            type:
                              - string
                              - 'null'
                            description: >-
                              VAT mode, can be null, possible values: `Normal`,
                              `One Stop Shop`, `Mini One Stop Shop`, `Reverse
                              charge`, `Outside the EU`
                            examples:
                              - Normal
                          proofPayments:
                            $ref: '#/components/schemas/proofPaymentsForInvoice'
                            description: List of linked proof payments
                  errors:
                    $ref: '#/components/schemas/Errors'
                required:
                  - data
                  - errors
                additionalProperties: false
        '404':
          description: Not Found
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              example:
                data: null
                errors:
                  - errorCode: proof-payments-not-found
                    message: Proof payment with code "O-2017000017-01" not found.
                    instance: O-2017000017-01
              schema:
                type: object
                properties:
                  data:
                    type: 'null'
                  errors:
                    $ref: '#/components/schemas/Errors'
        '409':
          description: Conflict
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              example:
                data: null
                errors:
                  - errorCode: proof-payments-already-linked-to-invoice
                    message: >-
                      Proof payment with code "O-2017000017-01" is already
                      linked

                      to the invoice "%s".
                    instance: data.proofPaymentCodes
                  - errorCode: proof-payments-closed
                    message: >-
                      Proof payment with code "O-2017000044-01" is closed.
                      Unlock

                      proof payment first.
                    instance: O-2017000044-01
              schema:
                type: object
                properties:
                  data:
                    type: 'null'
                  errors:
                    $ref: '#/components/schemas/Errors'
        '422':
          description: Unprocessable Entity
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              example:
                data: null
                errors:
                  - errorCode: proof-payments-not-related-to-order
                    message: >-
                      Proof payment with code "O-2017000017-01" is not related
                      to

                      the order with code "2017000044".
                    instance: data.proofPaymentCodes
                  - errorCode: proof-payments-and-invoice-has-different-currency
                    message: >-
                      Proof payment with code "O-2017000017-01" is not in the
                      same

                      currency as the invoice "2017100013".
                    instance: data.proofPaymentCodes
                  - errorCode: proof-payments-invalid
                    message: Proof payment with code "O-2017000017-01" is not valid.
                    instance: data.proofPaymentCodes
              schema:
                type: object
                properties:
                  data:
                    type: 'null'
                  errors:
                    $ref: '#/components/schemas/Errors'
      summary: Invoice link proof payments
      operationId: invoiceLinkProofPayments
      description: >-
        Linking proof payments to invoice. Proof payments must be related to the
        order, must be in same currency 

        as the order, must be valid and cannot be linked to another invoice.



        This endpoint has several sections, which are only sent when requested
        in the `include` parameter (see

        [Requested
        sections](#section/basic-principles-of-working-with-api/Section-on-demand)).


        Value | Section

        --------|------

        `surchargeParameters`| Item surcharge parameters
      tags:
        - Invoices
      parameters:
        - name: code
          in: path
          description: Code of order
          required: true
          example: '2018000053'
          schema:
            type: string
        - name: include
          in: query
          description: Sections to include
          required: false
          example: surchargeParameters
          schema:
            type: string
        - $ref: '#/components/parameters/DefaultContentType'
      requestBody:
        content:
          application/vnd.shoptet.v1.0+json:
            schema:
              type: object
              additionalProperties: false
              required:
                - data
              properties:
                data:
                  type: object
                  additionalProperties: false
                  required:
                    - proofPaymentCodes
                  properties:
                    proofPaymentCodes:
                      type: array
                      minItems: 1
                      description: List of linked proof payments.
                      items:
                        type: string
                        description: >-
                          Proof payment code. The proof payment must be related
                          to the order, must be in same currency as the order,
                          must be valid and cannot be linked to another invoice.
                        examples:
                          - O-2018000053-01
                          - O-2018000053-02
  /api/invoices/{code}/pdf:
    get:
      responses:
        '200':
          description: OK
        '404':
          description: Not Found
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    type: 'null'
                  errors:
                    $ref: '#/components/schemas/Errors'
              example:
                data: null
                errors:
                  - errorCode: invoice-not-found
                    message: Invoice with code "2018000004" not found.
                    instance: '2018000004'
        '500':
          description: Internal Server Error
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    type: 'null'
                  errors:
                    $ref: '#/components/schemas/Errors'
              example:
                data: null
                errors:
                  - errorCode: document-not-generated
                    message: |-
                      Error while getting document type "invoice" with code
                      "2018000004".
                    instance: '2018000004'
      summary: Download invoice as PDF
      operationId: downloadInvoiceAsPdf
      description: |-
        You can request the invoice as PDF file, response will be as
        application/octet-stream. You can download pdf documents
        only one-by-one for every e-shop. Parallel requests end with `423
        Locked` error.
      tags:
        - Invoices
      parameters:
        - name: code
          in: path
          description: ''
          required: true
          example: '2018000004'
          schema:
            type: string
  /api/invoices/{code}/isdoc:
    get:
      responses:
        '200':
          description: OK
        '404':
          description: Not Found
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    type: 'null'
                  errors:
                    $ref: '#/components/schemas/Errors'
              example:
                data: null
                errors:
                  - errorCode: invoice-not-found
                    message: Invoice with code "2018000004" not found.
                    instance: '2018000004'
        '500':
          description: Internal Server Error
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    type: 'null'
                  errors:
                    $ref: '#/components/schemas/Errors'
              example:
                data: null
                errors:
                  - errorCode: document-not-generated
                    message: |-
                      Error while getting document type "invoice" with code
                      "2018000004".
                    instance: '2018000004'
      summary: Download invoice as ISDOC
      operationId: downloadInvoiceAsIsdoc
      description: |-
        You can request the invoice as ISDOC file, response will be as
        application/octet-stream. You can download pdf documents
        only one-by-one for every e-shop. Parallel requests end with `423
        Locked` error.
      tags:
        - Invoices
      parameters:
        - name: code
          in: path
          description: ''
          required: true
          example: '2018000004'
          schema:
            type: string
        - $ref: '#/components/parameters/DefaultContentType'
  /api/invoices/changes:
    get:
      responses:
        '200':
          description: OK
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    additionalProperties: false
                    required:
                      - changes
                      - paginator
                    properties:
                      changes:
                        type: array
                        items:
                          type: object
                          additionalProperties: false
                          required:
                            - code
                            - changeTime
                            - changeType
                          properties:
                            code:
                              type: string
                              description: >-
                                identifier (number) of the document, which can
                                be used to query about the details.
                              examples:
                                - '201800014'
                            changeTime:
                              $ref: '#/components/schemas/typeDateTime'
                              description: >-
                                date and time when the event happened. ISO 8601
                                format (`2017-12-12T22:08:01+0100`).
                            changeType:
                              type: string
                              description: >-
                                type of event that happened with the document.
                                Possible values are following: `add`, `edit`,
                                `delete`.
                              examples:
                                - edit
                      paginator:
                        $ref: '#/components/schemas/paginator'
                  errors:
                    $ref: '#/components/schemas/Errors'
                required:
                  - data
                  - errors
                additionalProperties: false
      summary: Last invoice changes
      operationId: getLastInvoiceChanges
      description: >-
        Returns the list of invoices, which were changed (added/changed or
        deleted). Endpoint is intended to determine

        the changes after you have loaded the complete list of invoices and you
        need to know if any of these was been changed (or

        deleted). Guaranteed history is 30 days, the older data are deleted
        progressively.



        Each invoice in the log is only mentioned with its last change. For
        example, if the invoice was modified and then deleted,

        the log will only show information about its deletion.



        Can be filtered by changeType = edit/delete parameter.



        Creation is considered as `edit` action. So, when there is a new item
        created, it will be displayed like `edit` action.



        Endpoint supports
        [pagination](#section/basic-principles-of-working-with-api/Paging).
      tags:
        - Invoices
      parameters:
        - name: from
          in: query
          description: >-
            DateTime from which up to the present we are interested in the
            changes. + in the time zone
          required: true
          example: '2018-01-01T01:01:01+02:00'
          schema:
            type: string
        - name: changeType
          in: query
          description: Returning only edit or delete type changed records
          required: false
          example: edit
          schema:
            type: string
        - $ref: '#/components/parameters/DefaultContentType'
  /api/proforma-invoices:
    get:
      responses:
        '200':
          description: OK
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    additionalProperties: false
                    required:
                      - proformaInvoices
                    properties:
                      proformaInvoices:
                        type: array
                        items:
                          type: object
                          additionalProperties: false
                          required:
                            - code
                            - varSymbol
                            - isValid
                            - orderCode
                            - creationTime
                            - billCompany
                            - billFullName
                            - price
                            - changeTime
                          properties:
                            code:
                              type: string
                              description: >-
                                proforma invoice number. Caution! This does not
                                have to be just a number, it can also contain
                                letters, a dash, etc.
                              examples:
                                - '2015000001'
                            varSymbol:
                              type:
                                - number
                                - 'null'
                              description: variable symbol
                              examples:
                                - 666
                            isValid:
                              type: boolean
                              description: is the proforma invoice valid?
                              examples:
                                - true
                            orderCode:
                              type:
                                - string
                                - 'null'
                              description: >-
                                purchase order number (can be `null`). Caution!
                                This does not have to be just a number, it can
                                also contain letters, a dash, etc.
                              examples:
                                - '2017000017'
                            creationTime:
                              $ref: '#/components/schemas/typeDateTime'
                              description: date of issue, in ISO 8601 format
                            billCompany:
                              type:
                                - string
                                - 'null'
                              description: company name
                              examples:
                                - Company s.r.o.
                            billFullName:
                              type:
                                - string
                                - 'null'
                              description: full name
                              examples:
                                - John Doe
                            price:
                              $ref: '#/components/schemas/price'
                              description: price information
                            changeTime:
                              $ref: '#/components/schemas/typeDateTime'
                              description: date of last change, in ISO 8601 format
                      paginator:
                        $ref: '#/components/schemas/paginator'
                  errors:
                    $ref: '#/components/schemas/Errors'
                required:
                  - data
                  - errors
                additionalProperties: false
      summary: List of proforma invoices
      operationId: getListOfProformaInvoices
      description: |-
        Returns the list of proforma invoices. Supports the 
        [pagination](#section/basic-principles-of-working-with-api/Paging).
      tags:
        - Proforma invoices
      parameters:
        - name: isValid
          in: query
          description: filtering according to document validity
          schema:
            type: boolean
        - name: orderCode
          in: query
          description: filtering according to number of order.
          schema:
            type: string
        - name: creationTimeFrom
          in: query
          description: |-
            filtering items created after or same as requested datetime. ISO
            8601 format ("2017-12-12T22:08:01+0100").
          schema:
            type: string
        - name: creationTimeTo
          in: query
          description: |-
            filtering items created before or same as requested datetime. ISO
            8601 format ("2017-12-12T22:08:01+0100")
          schema:
            type: string
        - name: varSymbol
          in: query
          description: filtering according to variable symbol of proforma invoice
          schema:
            type: string
        - $ref: '#/components/parameters/DefaultContentType'
  /api/proforma-invoices/snapshot:
    get:
      responses:
        '200':
          description: OK
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    additionalProperties: false
                    required:
                      - jobId
                    properties:
                      jobId:
                        examples:
                          - ad24xod
                        description: token of job
                        type: string
        '404':
          description: Not Found
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    type: 'null'
                  errors:
                    $ref: '#/components/schemas/Errors'
              example:
                data: null
                errors:
                  - errorCode: currency-not-found
                    message: Currency code \"EUR\" not found.
                    instance: currencyCode
      summary: List of all proforma invoices
      operationId: getListOfAllProformaInvoices
      description: >-
        Using this endpoint, you can get list of all proforma invoices with
        detailed info of each invoice (like in Proforma Invoice Detail endpoint)

        asynchronously. See how [Asynchronous
        requests](https://developers.shoptet.com/asynchronous-requests/) work on
        our

        developer's portal.



        Response will be in [jsonlines](https://jsonlines.org/) format with each
        product taking one line of output file.

        One invoice in response has the same format as invoice detail response.



        Result file is compressed using GZIP.



        This endpoint has one section, which is only sent when requested in the
        `include` parameter (see

        [Requested
        sections](#section/basic-principles-of-working-with-api/Section-on-demand)).



        Value | Section

        --------|------

        `surchargeParameters`| Item surcharge parameters
      tags:
        - Proforma invoices
      parameters:
        - name: include
          in: query
          description: Sections to include
          example: surchargeParameters
          schema:
            type: string
        - name: creationTimeFrom
          in: query
          description: Export proforma invoices created after date
          example: 2014-09-05T00:00:00%2B0000
          schema:
            type: string
        - name: creationTimeTo
          in: query
          description: Export proforma invoices created before date
          example: 2019-09-05T00:00:00%2B0000
          schema:
            type: string
        - name: changeTimeFrom
          in: query
          description: Export proforma invoices updated after date
          example: 2014-09-05T00:00:00%2B0000
          schema:
            type: string
        - name: changeTimeTo
          in: query
          description: Export proforma invoices updated before date
          example: 2019-09-05T00:00:00%2B0000
          schema:
            type: string
        - name: codeFrom
          in: query
          description: >-
            Export proforma invoices with code after given value (given code
            included)
          example: '0000000006'
          schema:
            type: string
        - name: codeTo
          in: query
          description: >-
            Export proforma invoices with code before given value (given code
            included)
          example: '0000000006'
          schema:
            type: string
        - name: proformaInvoiceCodeFrom
          in: query
          description: Export invoices with proforma invoice code after given value
          example: '2017000010'
          schema:
            type: string
        - name: proformaInvoiceCodeTo
          in: query
          description: Export invoices with proforma invoice code befor given value
          example: '2017000010'
          schema:
            type: string
        - name: isValid
          in: query
          description: Filtering according to document validity
          example: 'true'
          schema:
            type: boolean
        - name: paid
          in: query
          description: Filtering according to if proforma invoice is paid
          example: 'true'
          schema:
            type: boolean
        - name: currencyCode
          in: query
          description: >-
            Export proforma invoices with given currency code, if given currency
            code does not exists, or is not valid, it will throw an exception
          example: CZK
          schema:
            type: string
        - $ref: '#/components/parameters/DefaultContentType'
  /api/proforma-invoices/{code}:
    get:
      responses:
        '200':
          description: OK
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    additionalProperties: false
                    required:
                      - proformaInvoice
                    properties:
                      proformaInvoice:
                        type: object
                        additionalProperties: false
                        required:
                          - code
                          - isValid
                          - paid
                          - orderCode
                          - creationTime
                          - changeTime
                          - dueDate
                          - varSymbol
                          - constSymbol
                          - specSymbol
                          - weight
                          - completePackageWeight
                          - billingMethod
                          - billingAddress
                          - deliveryAddress
                          - addressesEqual
                          - price
                          - customer
                          - eshop
                          - items
                          - documentRemark
                          - vatPayer
                        properties:
                          code:
                            type: string
                            description: >-
                              proforma invoice number. Caution! This does not
                              have to be just a number, it can also contain
                              letters, a dash, etc.
                            examples:
                              - '2015000001'
                          isValid:
                            type: boolean
                            description: is the proforma invoice valid?
                            examples:
                              - true
                          paid:
                            type:
                              - boolean
                              - 'null'
                            description: is the proforma invoice paid?
                            examples:
                              - true
                          orderCode:
                            type:
                              - string
                              - 'null'
                            description: >-
                              purchase order number (can be `null`). Caution!
                              This does not have to be just a number, it can
                              also contain letters, a dash, etc.
                            examples:
                              - '2017000017'
                          creationTime:
                            $ref: '#/components/schemas/typeDateTime'
                            description: date of issue, in ISO 8601 format
                          changeTime:
                            $ref: '#/components/schemas/typeDateTime'
                            description: date of last change, in ISO 8601 format
                          dueDate:
                            type:
                              - string
                              - 'null'
                            $ref: '#/components/schemas/typeDate'
                            description: due date, in ISO 8601 format
                          varSymbol:
                            type: number
                            description: variable symbol
                            examples:
                              - 666
                          constSymbol:
                            type:
                              - string
                              - 'null'
                            description: constant symbol
                            examples:
                              - '6583'
                          specSymbol:
                            type:
                              - number
                              - 'null'
                            description: specific symbol
                            examples:
                              - 36534576
                          weight:
                            type:
                              - string
                              - 'null'
                            $ref: '#/components/schemas/typeWeightUnlimited'
                            description: weight in kg, unpacked. 3 decimal places.
                          completePackageWeight:
                            type:
                              - string
                              - 'null'
                            $ref: '#/components/schemas/typeWeightUnlimited'
                            description: total weight of package in kg. 3 decimal places.
                          billingMethod:
                            description: information about the method of payment.
                            oneOf:
                              - $ref: '#/components/schemas/billingMethod'
                              - type: 'null'
                          billingAddress:
                            type: object
                            $ref: '#/components/schemas/billingAddress'
                            description: invoicing address
                          deliveryAddress:
                            type:
                              - object
                              - 'null'
                            $ref: '#/components/schemas/address'
                          addressesEqual:
                            type: boolean
                            description: are the billing and delivery addresses the same?
                            examples:
                              - true
                          price:
                            type: object
                            $ref: '#/components/schemas/price'
                            description: price information
                          customer:
                            type: object
                            $ref: '#/components/schemas/documentCustomer'
                          eshop:
                            type: object
                            $ref: '#/components/schemas/eshop'
                          items:
                            type: array
                            description: content of the proforma invoice
                            items:
                              $ref: '#/components/schemas/documentItemsWithPrice'
                          documentRemark:
                            type:
                              - string
                              - 'null'
                            description: remark for the document
                            examples:
                              - This is a remark.
                          vatPayer:
                            type: boolean
                            description: >-
                              was the tradesman a VAT payer, when the receipt
                              was issued?
                            examples:
                              - true
                          vatMode:
                            type:
                              - string
                              - 'null'
                            description: >-
                              VAT mode, can be null, for possible values see
                              [VAT modes](#section/code-lists/VAT-modes)
                            examples:
                              - Normal
                  errors:
                    $ref: '#/components/schemas/Errors'
                required:
                  - data
                  - errors
                additionalProperties: false
        '404':
          description: Not Found
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    type: 'null'
                  errors:
                    $ref: '#/components/schemas/Errors'
              example:
                data: null
                errors:
                  - errorCode: proforma-invoice-not-found
                    message: Proforma invoice with code "000000000633" not found.
                    instance: '000000000633'
      summary: Proforma invoice detail
      operationId: getProformaInvoiceDetail
      description: >-
        Additional information about one proforma invoice.


        This endpoint has several sections, which are only sent when requested
        in the `include` parameter (see

        [Requested
        sections](#section/basic-principles-of-working-with-api/Section-on-demand)).


        Value | Section

        --------|------

        `surchargeParameters`| Item surcharge parameters
      tags:
        - Proforma invoices
      parameters:
        - name: code
          in: path
          description: ''
          required: true
          example: '2018000035'
          schema:
            type: string
        - name: include
          in: query
          description: Sections to include
          required: false
          example: surchargeParameters
          schema:
            type: string
        - $ref: '#/components/parameters/DefaultContentType'
  /api/proforma-invoices/{code}/pdf:
    get:
      responses:
        '200':
          description: OK
        '404':
          description: Not Found
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    type: 'null'
                  errors:
                    $ref: '#/components/schemas/Errors'
              example:
                data: null
                errors:
                  - errorCode: proforma-invoice-not-found
                    message: Proforma invoice with code "2018000035" not found.
                    instance: '2018000035'
        '500':
          description: Internal Server Error
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    type: 'null'
                  errors:
                    $ref: '#/components/schemas/Errors'
              example:
                data: null
                errors:
                  - errorCode: document-not-generated
                    message: |-
                      Error while getting document type "proformaInvoice" with
                      code "2018000035".
                    instance: '2018000035'
      summary: Download proforma invoice as PDF
      operationId: downloadProformaInvoicePdf
      description: |-
        You can request the proforma invoice as PDF file, response will be as
        application/octet-stream. You can download pdf documents

        only one-by-one for every e-shop. Parallel requests end with `423
        Locked` error.
      tags:
        - Proforma invoices
      parameters:
        - name: code
          in: path
          description: ''
          required: true
          example: '2018000035'
          schema:
            type: string
        - $ref: '#/components/parameters/DefaultContentType'
  /api/proforma-invoices/changes:
    get:
      responses:
        '200':
          description: OK
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    additionalProperties: false
                    required:
                      - changes
                    properties:
                      changes:
                        type: array
                        items:
                          type: object
                          additionalProperties: false
                          required:
                            - code
                            - changeTime
                            - changeType
                          properties:
                            code:
                              type: string
                              description: >-
                                identifier (number) of the document, which can
                                be used to query about the details.
                              examples:
                                - '201800014'
                            changeTime:
                              $ref: '#/components/schemas/typeDateTime'
                              description: >-
                                date and time when the event happened. ISO 8601
                                format (`2017-12-12T22:08:01+0100`).
                            changeType:
                              type: string
                              description: >-
                                type of event that happened with the document.
                                Possible values are following: `add`, `edit`,
                                `delete`.
                              examples:
                                - edit
                      paginator:
                        $ref: '#/components/schemas/paginator'
                  errors:
                    $ref: '#/components/schemas/Errors'
                required:
                  - data
                  - errors
                additionalProperties: false
              example:
                data:
                  changes:
                    - changeType: edit
                      changeTime: 2018-05-29T09:02:27+0200
                      code: '201800014'
                  paginator:
                    totalCount: 55
                    page: 1
                    pageCount: 3
                    itemsOnPage: 20
                    itemsPerPage: 20
                errors:
                  - errorCode: example-error-code
                    message: Example error message
                    instance: instance
      summary: Last proforma invoice changes
      operationId: getLastProformaInvoiceChanges
      description: >-
        Returns the list of proforma invoices, which were changed. The Endpoint
        is intended to determine

        the changes after you have loaded the list of proforma invoices and you
        need to know the changes. The guaranteed history of changes is 30 days.



        Each proforma invoice is only given in the listing with its last change.
        For example, if the proforma invoices was modified and then deleted,

        the listing will only show information about its deletion.



        Can be filtered by changeType = edit/delete parameter.



        Creation is considered as `edit` action. So, when there is a new item
        created, it will be displayed like `edit` action.



        Endpoint supports
        [paging](#section/basic-principles-of-working-with-api/Paging)
      tags:
        - Proforma invoices
      parameters:
        - name: from
          in: query
          description: >-
            DateTime from which up to the present we are interested in the
            changes. + in the time zone
          required: true
          example: '2018-01-01T01:01:01+02:00'
          schema:
            type: string
        - name: changeType
          in: query
          description: Returning only edit or delete type changed records
          required: false
          example: edit
          schema:
            type: string
        - $ref: '#/components/parameters/DefaultContentType'
  /api/proof-payments:
    get:
      responses:
        '200':
          description: OK
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    additionalProperties: false
                    required:
                      - items
                      - paginator
                    properties:
                      items:
                        type: array
                        items:
                          $ref: '#/components/schemas/proofPaymentsList'
                      paginator:
                        $ref: '#/components/schemas/paginator'
                  errors:
                    $ref: '#/components/schemas/Errors'
                required:
                  - data
                  - errors
                additionalProperties: false
      summary: List of proof payments
      operationId: getListOfProofPayments
      description: >-
        The list of proof payments supports
        [paging](#section/basic-principles-of-working-with-api/Paging).
      tags:
        - Proof payments
      parameters:
        - name: code
          in: query
          description: filtering according to proof payments code. Optional.
          required: false
          example: P--2015000170-1
          schema:
            type: string
        - name: orderCode
          in: query
          description: filtering according to order code. Optional.
          required: false
          example: '2015000001'
          schema:
            type: string
        - name: proformaInvoiceCode
          in: query
          description: filtering according to proforma invoice code. Optional.
          required: false
          example: '2015000170'
          schema:
            type: string
        - name: invoiceCode
          in: query
          description: filtering by invoice code
          required: false
          example: '2017100013'
          schema:
            type: string
        - name: issueDate
          in: query
          description: |-
            filtering according to date on which was proof payment issued. In
            ISO 8601 format. Optional.
          required: false
          example: 2024-12-24T15:22:02+0200
          schema:
            type: string
        - name: isValid
          in: query
          description: filtering according to proof payments validity. Optional.
          required: false
          example: 'true'
          schema:
            type: boolean
        - name: closed
          in: query
          description: filtering by proof payment closed/open
          required: false
          example: 'true'
          schema:
            type: boolean
        - $ref: '#/components/parameters/DefaultContentType'
    post:
      responses:
        '201':
          description: Created
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    additionalProperties: false
                    required:
                      - proofPayments
                    properties:
                      proofPayments:
                        $ref: '#/components/schemas/proofPaymentDetail'
                  errors:
                    $ref: '#/components/schemas/Errors'
                required:
                  - data
                  - errors
                additionalProperties: false
        '404':
          description: Not Found
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              example:
                data: null
                errors:
                  - errorCode: order-not-found
                    message: Order "2015000001" not found.
                    instance: '2015000001'
              schema:
                type: object
                properties:
                  data:
                    type: 'null'
                  errors:
                    $ref: '#/components/schemas/Errors'
                example:
                  data: null
                  errors:
                    - errorCode: order-not-found
                      message: Order "2015000001" not found.
                      instance: '2015000001'
      summary: Proof payment insertion
      operationId: createProofPayment
      description: ''
      tags:
        - Proof payments
      requestBody:
        content:
          application/vnd.shoptet.v1.0+json:
            schema:
              type: object
              required:
                - data
              properties:
                data:
                  type: object
                  additionalProperties: false
                  minProperties: 1
                  required:
                    - payment
                    - currencyCode
                    - varSymbol
                  properties:
                    proformaInvoiceCode:
                      type: string
                      description: proforma invoice code; required if no `orderCode`
                      examples:
                        - '2015000170'
                    orderCode:
                      type: string
                      description: order code; required if no `proformaInvoiceCode`
                      examples:
                        - '2015000001'
                    payment:
                      $ref: '#/components/schemas/typePrice'
                      description: total price on the bill
                      examples:
                        - '1000.00'
                    currencyCode:
                      $ref: '#/components/schemas/typeCurrencyCode'
                      description: >-
                        currency code. List of available currencies within the
                        e-shop can be found in
                        [/api/eshop](#tag/eshop/geteshopinfo) endpoint.
                      examples:
                        - CZK
                    varSymbol:
                      type: number
                      description: variable symbol
                      examples:
                        - 666
                    issueDate:
                      $ref: '#/components/schemas/typeDateTimeRequest'
                      description: >-
                        date on which was proof payment issued, in ISO 8601
                        format. Deprecation of required timezone part of
                        datetime, and will be removed in the future
                    taxDate:
                      $ref: '#/components/schemas/typeDate'
                      description: date of tax
                    constSymbol:
                      type:
                        - string
                        - 'null'
                      description: constant symbol
                      examples:
                        - '0308'
                    specSymbol:
                      type:
                        - number
                        - 'null'
                      description: specific symbol
                      examples:
                        - 36534576
                    invoiceBillingMethodId:
                      type: integer
                      description: >-
                        billing method (can be `null`) - see also [Billing
                        method](#section/code-lists/Invoice-Billing-Methods)
                      examples:
                        - 4
                    billBankAccount:
                      type:
                        - string
                        - 'null'
                      description: bank account on the bill (can be `null`)
                      examples:
                        - 12345678/1234
                    billIban:
                      type:
                        - string
                        - 'null'
                      description: e-shop IBAN on the bill (can be `null`)
                      examples:
                        - CZ650800000000123456789
                    billBic:
                      type:
                        - string
                        - 'null'
                      description: bank code - SWIFT on the bill (can be `null`)
                      examples:
                        - GIBACZPX
                    documentRemark:
                      type:
                        - string
                        - 'null'
                      description: document remark (can be `null`)
                      examples:
                        - Payment for order 2015000001
      parameters:
        - $ref: '#/components/parameters/DefaultContentType'
  /api/proof-payments/{code}:
    get:
      responses:
        '200':
          description: OK
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    additionalProperties: false
                    required:
                      - proofPayments
                    properties:
                      proofPayments:
                        $ref: '#/components/schemas/proofPaymentDetail'
                  errors:
                    $ref: '#/components/schemas/Errors'
                required:
                  - data
                  - errors
                additionalProperties: false
        '404':
          description: Not Found
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              example:
                data: null
                errors:
                  - errorCode: proof-payments-not-found
                    message: Proof payment with code "P--0000000000-1" not found.
                    instance: P--0000000000-1
              schema:
                type: object
                properties:
                  data:
                    type: 'null'
                  errors:
                    $ref: '#/components/schemas/Errors'
                example:
                  data: null
                  errors:
                    - errorCode: proof-payments-not-found
                      message: Proof payment with code "P--0000000000-1" not found.
                      instance: P--0000000000-1
      summary: Proof payment detail
      operationId: getProofPaymentDetail
      description: Additional information about one proof payment.
      tags:
        - Proof payments
      parameters:
        - name: code
          in: path
          description: ''
          required: true
          example: P--2015000170-1
          schema:
            type: string
        - $ref: '#/components/parameters/DefaultContentType'
    patch:
      responses:
        '200':
          description: OK
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    additionalProperties: false
                    required:
                      - proofPayments
                    properties:
                      proofPayments:
                        $ref: '#/components/schemas/proofPaymentDetail'
                  errors:
                    $ref: '#/components/schemas/Errors'
                required:
                  - data
                  - errors
                additionalProperties: false
        '404':
          description: Not Found
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              example:
                data: null
                errors:
                  - errorCode: proof-payments-not-found
                    message: Proof payment with code "P--0000000000-1" not found.
                    instance: P--0000000000-1
              schema:
                type: object
                properties:
                  data:
                    type: 'null'
                  errors:
                    $ref: '#/components/schemas/Errors'
        '409':
          description: Conflict
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              example:
                data: null
                errors:
                  - errorCode: proof-payments-closed
                    message: >-
                      Proof payment with code "P--0000000000-1" is closed.
                      Unlock

                      proof payment first.
                    instance: P--0000000000-1
              schema:
                type: object
                properties:
                  data:
                    type: 'null'
                  errors:
                    $ref: '#/components/schemas/Errors'
      summary: Proof payment update
      operationId: updateProofPayment
      description: |-
        If the proof payment is closed, response code `409` is returned and the
        document cannot be updated. Proof payment is closed if:


        - proof payment is/was linked to the invoice or


        - there is a manual lock of proof payment.
      tags:
        - Proof payments
      parameters:
        - name: code
          in: path
          description: ''
          required: true
          example: P--2015000170-1
          schema:
            type: string
        - $ref: '#/components/parameters/DefaultContentType'
      requestBody:
        content:
          application/vnd.shoptet.v1.0+json:
            schema:
              type: object
              required:
                - data
              additionalProperties: false
              properties:
                data:
                  type: object
                  additionalProperties: false
                  minProperties: 1
                  properties:
                    taxDate:
                      type: string
                      $ref: '#/components/schemas/typeDate'
                      description: date of tax
                    issueDate:
                      $ref: '#/components/schemas/typeDateTimeRequest'
                      description: >-
                        date on which was proof payment issued, in ISO 8601
                        format. Deprecation of required timezone part of
                        datetime, and will be removed in the future
                    varSymbol:
                      type: number
                      pattern: ^\d{1,10}$
                      description: variable symbol
                      examples:
                        - 666
                    constSymbol:
                      type:
                        - string
                        - 'null'
                      pattern: ^.{1,4}$
                      description: constant symbol
                      examples:
                        - '0308'
                    specSymbol:
                      type:
                        - number
                        - 'null'
                      pattern: ^\d{1,10}$
                      description: specific symbol
                      examples:
                        - 36534576
                    invoiceBillingMethodId:
                      type: integer
                      description: >-
                        billing method (can be `null`) - see also [Billing
                        method](#section/code-lists/Invoice-Billing-Methods)
                      examples:
                        - 4
                    billBankAccount:
                      type:
                        - string
                        - 'null'
                      description: bank account on the bill (can be `null`)
                      examples:
                        - 12345678/1234
                    billIban:
                      type:
                        - string
                        - 'null'
                      description: e-shop IBAN on the bill (can be `null`)
                      examples:
                        - CZ650800000000123456789
                    billBic:
                      type:
                        - string
                        - 'null'
                      description: bank code - SWIFT on the bill (can be `null`)
                      examples:
                        - GIBACZPX
                    bankAccount:
                      type:
                        - string
                        - 'null'
                      description: bank account (can be `null`)
                      examples:
                        - 12345678/1234
                    iban:
                      type:
                        - string
                        - 'null'
                      description: e-shop IBAN (can be `null`)
                      examples:
                        - CZ650800000000123456789
                    bic:
                      type:
                        - string
                        - 'null'
                      description: bank code - SWIFT (can be `null`)
                      examples:
                        - GIBACZPX
                    isValid:
                      type: boolean
                      description: is proof payment valid?
                      examples:
                        - true
                    documentRemark:
                      type:
                        - string
                        - 'null'
                      description: remark on the document
                      examples:
                        - Payment for order 2015000001
    delete:
      responses:
        '200':
          description: OK
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    type: 'null'
                    additionalProperties: false
                  errors:
                    $ref: '#/components/schemas/Errors'
                required:
                  - data
                  - errors
                additionalProperties: false
        '404':
          description: Not Found
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              example:
                data: null
                errors:
                  - errorCode: proof-payments-not-found
                    message: Proof payment with code "P--0000000000-1" not found.
                    instance: P--0000000000-1
              schema:
                type: object
                properties:
                  data:
                    type: 'null'
                  errors:
                    $ref: '#/components/schemas/Errors'
        '409':
          description: Conflict
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              example:
                data: null
                errors:
                  - errorCode: proof-payments-closed
                    message: >-
                      Proof payment with code "P--0000000000-1" is closed.
                      Unlock

                      proof payment first.
                    instance: P--0000000000-1
              schema:
                type: object
                properties:
                  data:
                    type: 'null'
                  errors:
                    $ref: '#/components/schemas/Errors'
      summary: Proof payment deletion
      operationId: deleteProofPayment
      description: |-
        If the proof payment is closed, response code `409` is returned and the
        document cannot be deleted. Proof payment is closed if:


        - proof payment is/was linked to the invoice or


        - there is a manual lock of proof payment.
      tags:
        - Proof payments
      parameters:
        - name: code
          in: path
          description: ''
          required: true
          example: P--2015000170-1
          schema:
            type: string
        - $ref: '#/components/parameters/DefaultContentType'
  /api/proof-payments/snapshot:
    get:
      responses:
        '200':
          description: OK
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    additionalProperties: false
                    required:
                      - jobId
                    properties:
                      jobId:
                        examples:
                          - ad24xod
                        description: token of job
                        type: string
                  errors:
                    $ref: '#/components/schemas/Errors'
      summary: List of all proof payments
      operationId: getListOfAllProofPayments
      description: >-
        Using this endpoint, you can get list of all proof payments with
        detailed info of each proof payment (like in Proof payment Detail
        endpoint).


        Response will be in [jsonlines](https://jsonlines.org/) format with each
        proof payment taking one line of output file. One proof payment in
        response has the same format as proof payment detail response.


        Result file is compressed using GZIP.
      tags:
        - Proof payments
      parameters:
        - name: creationTimeFrom
          in: query
          description: Export proof payments created after date
          example: 2014-09-05T00:00:00%2B0000
          schema:
            type: string
        - name: creationTimeTo
          in: query
          description: Export proof payments created before date
          example: 2019-09-05T00:00:00%2B0000
          schema:
            type: string
        - name: changeTimeFrom
          in: query
          description: Export proof payments updated after date
          example: 2014-09-05T00:00:00%2B0000
          schema:
            type: string
        - name: changeTimeTo
          in: query
          description: Export proof payments updated before date
          example: 2019-09-05T00:00:00%2B0000
          schema:
            type: string
        - name: taxDateFrom
          in: query
          description: Export proof payments with tax date after date
          example: 2014-09-05T00:00:00%2B0000
          schema:
            type: string
        - name: taxDateTo
          in: query
          description: Export proof payments with tax date before date
          example: 2019-09-05T00:00:00%2B0000
          schema:
            type: string
        - name: isValid
          in: query
          description: Filtering according to document validity
          example: 'true'
          schema:
            type: boolean
        - name: currencyCode
          in: query
          description: Proof payment currency
          example: CZK
          schema:
            type: string
        - name: closed
          in: query
          description: Is the proof payment closed?
          example: 'true'
          schema:
            type: boolean
        - $ref: '#/components/parameters/DefaultContentType'
  /api/proof-payments/order/{code}:
    get:
      responses:
        '200':
          description: OK
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    additionalProperties: false
                    required:
                      - proofPayments
                    properties:
                      proofPayments:
                        type: array
                        items:
                          $ref: '#/components/schemas/proofPaymentDetail'
                  errors:
                    $ref: '#/components/schemas/Errors'
                required:
                  - data
                  - errors
                additionalProperties: false
        '404':
          description: Not Found
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              example:
                data: null
                errors:
                  - errorCode: proof-payments-not-found
                    message: Proof payment with order code "2015000001" not found.
                    instance: '2015000001'
              schema:
                type: object
                properties:
                  data:
                    type: 'null'
                  errors:
                    $ref: '#/components/schemas/Errors'
      summary: Proof payment detail by order code
      operationId: getProofPaymentDetailByOrderCode
      description: ''
      tags:
        - Proof payments
      parameters:
        - name: code
          in: path
          description: ''
          required: true
          example: '2015000001'
          schema:
            type: string
        - $ref: '#/components/parameters/DefaultContentType'
    post:
      responses:
        '201':
          description: Created
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    additionalProperties: false
                    required:
                      - proofPayments
                    properties:
                      proofPayments:
                        $ref: '#/components/schemas/proofPaymentDetail'
                  errors:
                    $ref: '#/components/schemas/Errors'
                required:
                  - data
                  - errors
                additionalProperties: false
        '404':
          description: Not Found
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              example:
                data: null
                errors:
                  - errorCode: order-not-found
                    message: Order "2015000001" not found.
                    instance: '2015000001'
              schema:
                type: object
                properties:
                  data:
                    type: 'null'
                  errors:
                    $ref: '#/components/schemas/Errors'
      summary: Proof payment insertion by order code
      operationId: createProofPaymentByOrderCode
      description: ''
      tags:
        - Proof payments
      parameters:
        - name: code
          in: path
          description: ''
          required: true
          example: '2015000001'
          schema:
            type: string
        - $ref: '#/components/parameters/DefaultContentType'
  /api/proof-payments/proforma-invoice/{code}:
    get:
      responses:
        '200':
          description: OK
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    additionalProperties: false
                    required:
                      - proofPayments
                    properties:
                      proofPayments:
                        type: array
                        items:
                          $ref: '#/components/schemas/proofPaymentDetail'
                  errors:
                    $ref: '#/components/schemas/Errors'
                required:
                  - data
                  - errors
                additionalProperties: false
        '404':
          description: Not Found
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              example:
                data: null
                errors:
                  - errorCode: proof-payments-not-found
                    message: |-
                      Proof payment with proforma invoice code "2015000170" not
                      found.
                    instance: '2015000170'
              schema:
                type: object
                properties:
                  data:
                    type: 'null'
                  errors:
                    $ref: '#/components/schemas/Errors'
      summary: Proof payment detail by proforma invoice code
      operationId: getProofPaymentDetailByProformaInvoiceCode
      description: ''
      tags:
        - Proof payments
      parameters:
        - name: code
          in: path
          description: ''
          required: true
          example: '2015000170'
          schema:
            type: string
        - $ref: '#/components/parameters/DefaultContentType'
    post:
      responses:
        '201':
          description: Created
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    additionalProperties: false
                    required:
                      - proofPayments
                    properties:
                      proofPayments:
                        $ref: '#/components/schemas/proofPaymentDetail'
                  errors:
                    $ref: '#/components/schemas/Errors'
                required:
                  - data
                  - errors
                additionalProperties: false
        '404':
          description: Not Found
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              example:
                data: null
                errors:
                  - errorCode: proforma-invoice-not-found
                    message: Proforma invoice with code "2015000170" not found.
                    instance: '2015000001'
              schema:
                type: object
                properties:
                  data:
                    type: 'null'
                  errors:
                    $ref: '#/components/schemas/Errors'
      summary: Proof payment insertion by proforma invoice code
      operationId: createProofPaymentByProformaInvoiceCode
      description: ''
      tags:
        - Proof payments
      parameters:
        - name: code
          in: path
          description: ''
          required: true
          example: '2015000170'
          schema:
            type: string
        - $ref: '#/components/parameters/DefaultContentType'
  /api/proof-payments/{code}/document-settings:
    post:
      responses:
        '201':
          description: Created
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    additionalProperties: false
                    required:
                      - proofPayments
                    properties:
                      proofPayments:
                        $ref: '#/components/schemas/proofPaymentDetail'
                  errors:
                    $ref: '#/components/schemas/Errors'
                required:
                  - data
                  - errors
                additionalProperties: false
        '404':
          description: Not Found
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              example:
                data: null
                errors:
                  - errorCode: proof-payments-not-found
                    message: Proof payment with code "P--0000000000-1" not found.
                    instance: P--0000000000-1
              schema:
                type: object
                properties:
                  data:
                    type: 'null'
                  errors:
                    $ref: '#/components/schemas/Errors'
        '409':
          description: Conflict
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              example:
                data: null
                errors:
                  - errorCode: proof-payments-unable-to-open
                    message: |-
                      Unable to open proof payment with code "P--0000000000-1".
                      Document is linked to invoice.
                    instance: P--0000000000-1
                  - errorCode: proof-payments-unable-to-close
                    message: |-
                      Unable to close proof payment with code "P--0000000000-1".
                      Document is not valid.
                    instance: P--0000000000-1
                  - errorCode: proof-payments-unable-to-close
                    message: |-
                      Unable to close proof payment with code "P--0000000000-1".
                      Document is linked to invoice.
                    instance: P--0000000000-1
                  - errorCode: proof-payments-unable-to-unlink
                    message: >-
                      Unable to unlink proof payment with code
                      "P--0000000000-1".

                      Document is not linked to invoice.
                    instance: P--0000000000-1
                  - errorCode: invalid-request-data
                    message: >-
                      Unable to update proof payment with code
                      "P--0000000000-1".

                      An exception occurred.
                    instance: P--0000000000-1
              schema:
                type: object
                properties:
                  data:
                    type: 'null'
                  errors:
                    $ref: '#/components/schemas/Errors'
      summary: Proof payment document settings
      operationId: proofPaymentDocumentSettings
      description: |-
        Using this endpoint, you can unlink an invoice from a proof of payment.
        After successfully unlinking the invoice, the price of the linked

        invoice will be recalculated and increased by the price of the proof of
        payment.

        Linking of the invoice to the proof of payment is not possible at this
        endpoint.


        You can also close a proof of payment with this endpoint. You can open a
        proof of payment if it is not linked to any invoice.

        Otherwise, a response code 409 is returned and the document cannot be
        closed.


        Important note: If the document is closed, the invoice or proof of
        payment may have already been sent to the customer!
      tags:
        - Proof payments
      parameters:
        - name: code
          in: path
          description: ''
          required: true
          example: P--2015000170-1
          schema:
            type: string
        - $ref: '#/components/parameters/DefaultContentType'
      requestBody:
        content:
          application/vnd.shoptet.v1.0+json:
            schema:
              type: object
              required:
                - data
              properties:
                data:
                  type: object
                  additionalProperties: false
                  minProperties: 1
                  properties:
                    unlink:
                      type: boolean
                      description: >-
                        `true` if you want to unlink the proof of payment from
                        the invoice
                      examples:
                        - false
                    closed:
                      type: boolean
                      description: >-
                        `true` if you want to close the proof of payment,
                        `false` if you want to open the proof of payment
                      examples:
                        - false
  /api/proof-payments/{code}/pdf:
    get:
      responses:
        '200':
          description: OK
        '404':
          description: Not Found
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              example:
                data: null
                errors:
                  - errorCode: proof-of-payment-not-found
                    message: Proof payment with code "P-2014000004-01" does not exist.
                    instance: P-2014000004-01
              schema:
                type: object
                properties:
                  data:
                    type: 'null'
                  errors:
                    $ref: '#/components/schemas/Errors'
                example:
                  data: null
                  errors:
                    - errorCode: proof-of-payment-not-found
                      message: >-
                        Proof payment with code "P-2014000004-01" does not
                        exist.
                      instance: P-2014000004-01
      summary: Download proof of payment as PDF
      operationId: downloadProofOfPaymentPdf
      description: |-
        You can request the proof of payment as PDF file, response will be as
        application/octet-stream. You can download pdf documents

        only one-by-one for every e-shop. Parallel requests end with `423
        Locked` error.
      tags:
        - Proof payments
      parameters:
        - name: code
          in: path
          description: ''
          required: true
          example: P-2014000004-01
          schema:
            type: string
        - $ref: '#/components/parameters/DefaultContentType'
  /api/proof-payments/changes:
    get:
      responses:
        '200':
          description: OK
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              example:
                data:
                  changes:
                    - changeType: edit
                      changeTime: 2018-05-29T09:02:27+0200
                      code: '201800014'
                  paginator:
                    totalCount: 55
                    page: 1
                    pageCount: 3
                    itemsOnPage: 20
                    itemsPerPage: 20
                errors:
                  - errorCode: example-error-code
                    message: Example error message
                    instance: instance
              schema:
                type: object
                properties:
                  data:
                    type: object
                    properties:
                      changes:
                        type: array
                        items:
                          type: object
                          properties:
                            changeType:
                              type: string
                              description: |-
                                type of event that happened with the document.
                                Possible values are following: `add`, `edit`,
                                `delete`.
                            changeTime:
                              type: string
                              description: |-
                                date and time when the event happened. ISO 8601
                                format ("2017-12-12T22:08:01+0100").
                            code:
                              type: string
                              description: >-
                                identifier (number) of the document, which can
                                be

                                used to query about the details.
                          required:
                            - changeType
                            - changeTime
                            - code
                          additionalProperties: false
                      paginator:
                        type: object
                        properties:
                          totalCount:
                            type: number
                            description: total number of available records
                          page:
                            type: number
                            description: current page
                          pageCount:
                            type: number
                            description: total number of available pages
                          itemsOnPage:
                            type: number
                            description: number of currently returned records
                          itemsPerPage:
                            type: number
                            description: required number of records per page
                        required:
                          - totalCount
                          - page
                          - pageCount
                          - itemsOnPage
                          - itemsPerPage
                        additionalProperties: false
                    required:
                      - changes
                      - paginator
                    additionalProperties: false
                  errors:
                    $ref: '#/components/schemas/Errors'
                required:
                  - data
                  - errors
                additionalProperties: false
      summary: Last proof payments changes
      operationId: getLastProofPaymentsChanges
      description: >-
        Returns the list of proof payments, which were changed. The Endpoint is
        intended to determine

        the changes after you have loaded the list of proof payments and you
        need to know the changes. The guaranteed history of changes is 30 days.



        Each proof payment is only given in the listing with its last change.
        For example, if the proof payment was modified and then deleted,

        the listing will only show information about its deletion.



        Can be filtered by changeType = edit/delete parameter.



        Creation is considered as `edit` action. So, when there is a new item
        created, it will be displayed like `edit` action.



        Endpoint supports
        [paging](#section/basic-principles-of-working-with-api/Paging)
      tags:
        - Proof payments
      parameters:
        - name: from
          in: query
          description: >-
            DateTime from which up to the present we are interested in the
            changes. + in the time zone
          required: true
          example: '2018-01-01T01:01:01+02:00'
          schema:
            type: string
        - name: changeType
          in: query
          description: Returning only edit or delete type changed records
          required: false
          example: edit
          schema:
            type: string
        - $ref: '#/components/parameters/DefaultContentType'
  /api/credit-notes:
    get:
      responses:
        '200':
          description: OK
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    additionalProperties: false
                    required:
                      - creditNotes
                      - paginator
                    properties:
                      creditNotes:
                        type: array
                        items:
                          type: object
                          additionalProperties: false
                          required:
                            - code
                            - varSymbol
                            - isValid
                            - invoiceCode
                            - proofPaymentCode
                            - orderCode
                            - creationTime
                            - billCompany
                            - billFullName
                            - price
                            - changeTime
                          properties:
                            code:
                              type: string
                              description: >-
                                credit note number. Caution! This does not have
                                to be just a number, it can also contain
                                letters, a dash, etc.
                              examples:
                                - '0000000006'
                            varSymbol:
                              type:
                                - number
                                - 'null'
                            isValid:
                              type: boolean
                              description: is the credit note valid?
                              examples:
                                - true
                            invoiceCode:
                              type:
                                - string
                                - 'null'
                              description: >-
                                invoice number (can be `null`). Caution! This
                                does not have to be just a number, it can also
                                contain letters, a dash, etc.
                              examples:
                                - '2017200011'
                            proofPaymentCode:
                              type:
                                - string
                                - 'null'
                              description: >-
                                proof payment code (can be `null`). Caution!
                                This does not have to be just a number, it can
                                also contain letters, a dash, etc.
                              examples:
                                - P--2017200011-1
                            orderCode:
                              type:
                                - string
                                - 'null'
                              description: >-
                                purchase order number (can be `null`). Caution!
                                This does not have to be just a number, it can
                                also contain letters, a dash, etc.
                              examples:
                                - '2017000017'
                            creationTime:
                              $ref: '#/components/schemas/typeDateTime'
                              description: date of issue, in ISO 8601 format
                            billCompany:
                              type:
                                - string
                                - 'null'
                              description: name of the company (can be `null`)
                              examples:
                                - Company s.r.o.
                            billFullName:
                              type:
                                - string
                                - 'null'
                              description: full name of the customer (can be `null`)
                              examples:
                                - John Doe
                            price:
                              $ref: '#/components/schemas/price'
                              description: price informations
                            changeTime:
                              $ref: '#/components/schemas/typeDateTime'
                              description: date of last change, in ISO 8601 format
                      paginator:
                        $ref: '#/components/schemas/paginator'
                  errors:
                    $ref: '#/components/schemas/Errors'
                required:
                  - data
                  - errors
                additionalProperties: false
      summary: List of credit notes
      operationId: getListOfCreditNotes
      description: The list of credit notes supports [paging](#paginator)
      tags:
        - Credit notes
      parameters:
        - name: isValid
          in: query
          description: filtering according to document validity. Optional.
          schema:
            type: boolean
        - name: invoiceCode
          in: query
          description: filtering according to number of invoice. Optional.
          schema:
            type: string
        - name: creationTimeFrom
          in: query
          description: |-
            date of credit note creation, in ISO 8601 format, lower limit.
            Optional.
          example: 2017-02-28T17:04:47+0100
          schema:
            type: string
        - name: creationTimeTo
          in: query
          description: |-
            date of credit note creation, in ISO 8601 format, upper limit.
            Optional.
          example: 2028-02-28T17:04:47+0100
          schema:
            type: string
        - name: varSymbol
          in: query
          description: filtering according to variable symbol of credit note
          schema:
            type: string
        - name: proofPaymentCode
          in: query
          description: filtering according to proof payment code. Optional.
          schema:
            type: string
        - $ref: '#/components/parameters/DefaultContentType'
  /api/credit-notes/snapshot:
    get:
      responses:
        '200':
          description: OK
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    additionalProperties: false
                    required:
                      - jobId
                    properties:
                      jobId:
                        examples:
                          - ad24xod
                        description: token of job
                        type: string
                  errors:
                    $ref: '#/components/schemas/Errors'
      summary: List of all credit notes
      operationId: getListOfAllCreditNotes
      description: >-
        Additional information about one credit notes.


        This endpoint has several sections, which are only sent when requested
        in the `include` parameter (see

        [Requested
        sections](#section/basic-principles-of-working-with-api/Section-on-demand)).


        Value | Section

        --------|------

        `surchargeParameters`| Item surcharge parameters
      tags:
        - Credit notes
      parameters:
        - name: creationTimeFrom
          in: query
          description: Export credit notes created after date
          example: 2014-09-05T00:00:00%2B0000
          schema:
            type: string
        - name: creationTimeTo
          in: query
          description: Export credit notes created before date
          example: 2019-09-05T00:00:00%2B0000
          schema:
            type: string
        - name: changeTimeFrom
          in: query
          description: Export credit notes updated after date
          example: 2014-09-05T00:00:00%2B0000
          schema:
            type: string
        - name: changeTimeTo
          in: query
          description: Export credit notes updated before date
          example: 2019-09-05T00:00:00%2B0000
          schema:
            type: string
        - name: codeFrom
          in: query
          description: Export credit notes with code after given value
          example: '0000000006'
          schema:
            type: string
        - name: codeTo
          in: query
          description: Export credit notes with code before given value
          example: '0000000006'
          schema:
            type: string
        - name: invoiceCodeFrom
          in: query
          description: Export credit notes with invoice code after given value
          example: '2017000010'
          schema:
            type: string
        - name: invoiceCodeTo
          in: query
          description: Export credit notes with invoice code before given value
          example: '2017000010'
          schema:
            type: string
        - name: dueDateFrom
          in: query
          description: Export credit notes with due date after date
          example: 2014-09-05T00:00:00%2B0000
          schema:
            type: string
        - name: dueDateTo
          in: query
          description: Export credit notes with due date before date
          example: 2019-09-05T00:00:00%2B0000
          schema:
            type: string
        - name: hasProofPaymentCode
          in: query
          description: Export credit notes with or without proof payment codes only
          example: 'true'
          schema:
            type: boolean
        - name: taxDateFrom
          in: query
          description: Export credit notes with tax date after date
          example: 2014-09-05T00:00:00%2B0000
          schema:
            type: string
        - name: taxDateTo
          in: query
          description: Export credit notes with tax date before date
          example: 2019-09-05T00:00:00%2B0000
          schema:
            type: string
        - name: orderCodeFrom
          in: query
          description: Export credit notes with order code after given value
          example: '2017000010'
          schema:
            type: string
        - name: orderCodeTo
          in: query
          description: Export credit notes with order code before given value
          example: '2017000010'
          schema:
            type: string
        - name: customerGuid
          in: query
          description: Export credit notes with given customer
          example: 443cad54-73bc-11e8-8216-002590dad85e
          schema:
            type: string
        - name: varSymbol
          in: query
          description: Export credit notes with given variable symbol
          example: '2010001'
          schema:
            type: string
        - name: restocked
          in: query
          description: Export restocked or not restocked credit notes
          example: 'false'
          schema:
            type: boolean
        - name: isValid
          in: query
          description: Filtering according to document validity
          example: 'true'
          schema:
            type: boolean
        - name: include
          in: query
          description: Sections to include
          required: false
          example: surchargeParameters
          schema:
            type: string
        - $ref: '#/components/parameters/DefaultContentType'
  /api/credit-notes/{code}:
    get:
      responses:
        '200':
          description: OK
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    additionalProperties: false
                    required:
                      - creditNote
                    properties:
                      creditNote:
                        type: object
                        required:
                          - code
                          - isValid
                          - invoiceCode
                          - orderCode
                          - proofPaymentCode
                          - creationTime
                          - changeTime
                          - dueDate
                          - taxDate
                          - varSymbol
                          - constSymbol
                          - specSymbol
                          - stockAmountChangeType
                          - weight
                          - completePackageWeight
                          - billingMethod
                          - billingAddress
                          - deliveryAddress
                          - addressesEqual
                          - price
                          - customer
                          - eshop
                          - items
                          - documentRemark
                          - vatPayer
                        additionalProperties: false
                        properties:
                          code:
                            type: string
                            description: variant code (product) (can be `null`)
                            examples:
                              - '00000008'
                          isValid:
                            type: boolean
                            description: is the credit note valid?
                            examples:
                              - true
                          invoiceCode:
                            type:
                              - string
                              - 'null'
                            description: >-
                              invoice number (can be `null`). Caution! This does
                              not have to be just a number, it can also contain
                              letters, a dash, etc.
                            examples:
                              - '2017200011'
                          orderCode:
                            type:
                              - string
                              - 'null'
                            description: >-
                              purchase order number (can be `null`). Caution!
                              This does not have to be just a number, it can
                              also contain letters, a dash, etc.
                            examples:
                              - '2017000017'
                          proofPaymentCode:
                            type:
                              - string
                              - 'null'
                            description: >-
                              proof payment code (can be `null`). Caution! This
                              does not have to be just a number, it can also
                              contain letters, a dash, etc.
                            examples:
                              - P--2017200011-1
                          creationTime:
                            $ref: '#/components/schemas/typeDateTime'
                            description: date of issue, in ISO 8601 format
                          changeTime:
                            $ref: '#/components/schemas/typeDateTime'
                            description: date of change, in ISO 8601 format
                          dueDate:
                            type:
                              - string
                              - 'null'
                            $ref: '#/components/schemas/typeDate'
                            description: due date in ISO 8601 format (can be `null`)
                          taxDate:
                            type:
                              - string
                              - 'null'
                            $ref: '#/components/schemas/typeDate'
                            description: taxation date in ISO 8601 format (can be `null`)
                          varSymbol:
                            type: number
                            description: variable symbol
                            examples:
                              - 666
                          constSymbol:
                            type:
                              - integer
                              - 'null'
                            description: constant symbol (can be `null`)
                            examples:
                              - 6583
                          specSymbol:
                            type:
                              - number
                              - 'null'
                            description: specific symbol (can be `null`)
                            examples:
                              - 36534576
                          restocked:
                            type: boolean
                            description: Items in credit note were restocked?
                            examples:
                              - true
                          stockAmountChangeType:
                            type:
                              - string
                              - 'null'
                            description: type of change in stock quantity (can `be null`)
                          weight:
                            type:
                              - string
                              - 'null'
                            $ref: '#/components/schemas/typeWeightUnlimited'
                          completePackageWeight:
                            type:
                              - string
                              - 'null'
                            $ref: '#/components/schemas/typeWeightUnlimited'
                          billingMethod:
                            description: >-
                              information about the method of payment (can be
                              `null`)
                            oneOf:
                              - $ref: '#/components/schemas/billingMethod'
                              - type: 'null'
                          billingAddress:
                            type: object
                            $ref: '#/components/schemas/billingAddress'
                            description: invoicing address
                          deliveryAddress:
                            type:
                              - object
                              - 'null'
                            $ref: '#/components/schemas/address'
                            description: delivery address (can be `null`)
                          addressesEqual:
                            type: boolean
                            description: Are delivery and invoicing address the same?
                            examples:
                              - true
                          price:
                            type: object
                            $ref: '#/components/schemas/price'
                          customer:
                            type: object
                            $ref: '#/components/schemas/documentCustomer'
                          eshop:
                            type: object
                            $ref: '#/components/schemas/eshop'
                          items:
                            type: array
                            items:
                              $ref: '#/components/schemas/documentItemsWithPrice'
                          documentRemark:
                            type:
                              - string
                              - 'null'
                            description: remark on the document (can be `null`)
                            examples:
                              - This is a remark
                          vatPayer:
                            type: boolean
                            description: is the tradesman a VAT payer? (can be `null`)
                            examples:
                              - true
                          vatMode:
                            type:
                              - string
                              - 'null'
                            description: >-
                              VAT mode, can be null, possible values: `Normal`,
                              `One Stop Shop`, `Mini One Stop Shop`, `Reverse
                              charge`, `Outside the EU`
                            examples:
                              - Normal
                  errors:
                    $ref: '#/components/schemas/Errors'
                required:
                  - data
                  - errors
                additionalProperties: false
        '404':
          description: Not Found
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    type: 'null'
                  errors:
                    $ref: '#/components/schemas/Errors'
              example:
                data: null
                errors:
                  - errorCode: credit-note-not-found
                    message: Credit note with code "000000000633" not found.
                    instance: '000000000633'
      summary: Credit note detail
      operationId: getCreditNoteDetail
      description: >-
        Additional information about one credit note.


        This endpoint has several sections, which are only sent when requested
        in the `include` parameter (see

        [Requested
        sections](#section/basic-principles-of-working-with-api/Section-on-demand)).


        Value | Section

        --------|------

        `surchargeParameters`| Item surcharge parameters
      tags:
        - Credit notes
      parameters:
        - name: code
          in: path
          description: ''
          required: true
          example: '0000000002'
          schema:
            type: string
        - name: include
          in: query
          description: Sections to include
          required: false
          example: surchargeParameters
          schema:
            type: string
        - $ref: '#/components/parameters/DefaultContentType'
    patch:
      responses:
        '201':
          description: Created
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    additionalProperties: false
                    required:
                      - creditNote
                    properties:
                      creditNote:
                        type: object
                        required:
                          - code
                          - isValid
                          - invoiceCode
                          - orderCode
                          - proofPaymentCode
                          - creationTime
                          - changeTime
                          - dueDate
                          - taxDate
                          - varSymbol
                          - constSymbol
                          - specSymbol
                          - stockAmountChangeType
                          - weight
                          - completePackageWeight
                          - billingMethod
                          - billingAddress
                          - deliveryAddress
                          - addressesEqual
                          - price
                          - customer
                          - eshop
                          - items
                          - documentRemark
                          - vatPayer
                        additionalProperties: false
                        properties:
                          code:
                            type: string
                            description: variant code (product) (can be `null`)
                            examples:
                              - '00000008'
                          isValid:
                            type: boolean
                            description: is the credit note valid?
                            examples:
                              - true
                          invoiceCode:
                            type:
                              - string
                              - 'null'
                            description: >-
                              invoice number (can be `null`). Caution! This does
                              not have to be just a number, it can also contain
                              letters, a dash, etc.
                            examples:
                              - '2017200011'
                          orderCode:
                            type:
                              - string
                              - 'null'
                            description: >-
                              purchase order number (can be `null`). Caution!
                              This does not have to be just a number, it can
                              also contain letters, a dash, etc.
                            examples:
                              - '2017000017'
                          proofPaymentCode:
                            type:
                              - string
                              - 'null'
                            description: >-
                              proof payment code (can be `null`). Caution! This
                              does not have to be just a number, it can also
                              contain letters, a dash, etc.
                            examples:
                              - P--2017200011-1
                          creationTime:
                            $ref: '#/components/schemas/typeDateTime'
                            description: date of issue, in ISO 8601 format
                          changeTime:
                            $ref: '#/components/schemas/typeDateTime'
                            description: date of change, in ISO 8601 format
                          dueDate:
                            type:
                              - string
                              - 'null'
                            $ref: '#/components/schemas/typeDate'
                            description: due date in ISO 8601 format (can be `null`)
                          taxDate:
                            type:
                              - string
                              - 'null'
                            $ref: '#/components/schemas/typeDate'
                            description: taxation date in ISO 8601 format (can be `null`)
                          varSymbol:
                            type: number
                            description: variable symbol
                            examples:
                              - 666
                          constSymbol:
                            type:
                              - integer
                              - 'null'
                            description: constant symbol (can be `null`)
                            examples:
                              - 6583
                          specSymbol:
                            type:
                              - number
                              - 'null'
                            description: specific symbol (can be `null`)
                            examples:
                              - 36534576
                          restocked:
                            type: boolean
                            description: Items in credit note were restocked?
                            examples:
                              - true
                          stockAmountChangeType:
                            type:
                              - string
                              - 'null'
                            description: type of change in stock quantity (can `be null`)
                          weight:
                            type:
                              - string
                              - 'null'
                            $ref: '#/components/schemas/typeWeightUnlimited'
                          completePackageWeight:
                            type:
                              - string
                              - 'null'
                            $ref: '#/components/schemas/typeWeightUnlimited'
                          billingMethod:
                            description: >-
                              information about the method of payment (can be
                              `null`)
                            oneOf:
                              - $ref: '#/components/schemas/billingMethod'
                              - type: 'null'
                          billingAddress:
                            type: object
                            $ref: '#/components/schemas/billingAddress'
                            description: invoicing address
                          deliveryAddress:
                            type:
                              - object
                              - 'null'
                            $ref: '#/components/schemas/address'
                            description: delivery address (can be `null`)
                          addressesEqual:
                            type: boolean
                            description: Are delivery and invoicing address the same?
                            examples:
                              - true
                          price:
                            type: object
                            $ref: '#/components/schemas/price'
                          customer:
                            type: object
                            $ref: '#/components/schemas/documentCustomer'
                          eshop:
                            type: object
                            $ref: '#/components/schemas/eshop'
                          items:
                            type: array
                            items:
                              $ref: '#/components/schemas/documentItemsWithPrice'
                          documentRemark:
                            type:
                              - string
                              - 'null'
                            description: remark on the document (can be `null`)
                            examples:
                              - This is a remark
                          vatPayer:
                            type: boolean
                            description: is the tradesman a VAT payer? (can be `null`)
                            examples:
                              - true
                          vatMode:
                            type:
                              - string
                              - 'null'
                            description: >-
                              VAT mode, can be null, possible values: `Normal`,
                              `One Stop Shop`, `Mini One Stop Shop`, `Reverse
                              charge`, `Outside the EU`
                            examples:
                              - Normal
                  errors:
                    $ref: '#/components/schemas/Errors'
                required:
                  - data
                  - errors
                additionalProperties: false
      summary: Credit note update
      operationId: updateCreditNote
      description: ''
      tags:
        - Credit notes
      parameters:
        - name: code
          in: path
          description: ''
          required: true
          example: '0000000002'
          schema:
            type: string
        - $ref: '#/components/parameters/DefaultContentType'
      requestBody:
        content:
          application/vnd.shoptet.v1.0+json:
            schema:
              type: object
              required:
                - data
              properties:
                data:
                  type: object
                  additionalProperties: false
                  minProperties: 1
                  properties:
                    varSymbol:
                      type: number
                      minimum: 0
                      maximum: 9999999999
                      description: >-
                        Variable symbol. Optional, generated by eshop settings
                        if not set.
                      examples:
                        - 99
                    dueDate:
                      $ref: '#/components/schemas/typeDate'
                      description: >-
                        Due date. Optional, generated by eshop settings if not
                        set.
                    taxDate:
                      $ref: '#/components/schemas/typeDate'
                      description: Date of taxation. Default is today.
                    constSymbol:
                      type:
                        - string
                        - 'null'
                      $ref: '#/components/schemas/typeConstSymbol'
                    specSymbol:
                      type:
                        - number
                        - 'null'
                      minimum: 0
                      maximum: 9999999999
                      description: Specific symbol.
                      examples:
                        - 201323134
                    billingMethodId:
                      type: number
                      description: >-
                        Id of [billing
                        method](#section/code-lists/Invoice-Billing-Methods).
                        Defaults to order's.
                      examples:
                        - 1
                    orderCode:
                      type:
                        - string
                        - 'null'
                      minLength: 1
                      maxLength: 10
                      description: Order code. Optional.
                      examples:
                        - '201323134'
    delete:
      responses:
        '200':
          description: OK
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    type: 'null'
                    additionalProperties: false
                  errors:
                    $ref: '#/components/schemas/Errors'
                required:
                  - data
                  - errors
                additionalProperties: false
        '404':
          description: Not Found
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    type: 'null'
                  errors:
                    $ref: '#/components/schemas/Errors'
              example:
                data: null
                errors:
                  - errorCode: credit-note-not-found
                    message: Credit note with code "99" not found.
                    instance: '99'
      summary: Credit note deletion
      operationId: deleteCreditNote
      description: ''
      tags:
        - Credit notes
      parameters:
        - name: code
          in: path
          description: ''
          required: true
          example: '0000000002'
          schema:
            type: string
        - $ref: '#/components/parameters/DefaultContentType'
  /api/credit-notes/{code}/restock:
    post:
      responses:
        '200':
          description: OK
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    additionalProperties: false
                    required:
                      - notes
                    properties:
                      notes:
                        type: array
                        description: >-
                          Notes about no longer existing products which cannot
                          be restocked. Messages are in administration language.
                        items:
                          type: string
                  errors:
                    $ref: '#/components/schemas/Errors'
                required:
                  - data
                  - errors
                additionalProperties: false
        '404':
          description: Not Found
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    type: 'null'
                  errors:
                    $ref: '#/components/schemas/Errors'
              example:
                data: null
                errors:
                  - errorCode: credit-note-not-found
                    message: Credit note with code "0000000002" not found.
                    instance: '000000000633'
        '409':
          description: Conflict
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    type: 'null'
                  errors:
                    $ref: '#/components/schemas/Errors'
              example:
                data: null
                errors:
                  - errorCode: credit-note-already-restocked
                    message: Credit note with code "0000000002" already restocked.
                    instance: '0000000002'
      summary: Credit note restock
      operationId: restockCreditNote
      description: Restock items from credit note.
      tags:
        - Credit notes
      parameters:
        - name: code
          in: path
          description: ''
          required: true
          example: '0000000002'
          schema:
            type: string
        - $ref: '#/components/parameters/DefaultContentType'
  /api/invoices/{code}/credit-note:
    post:
      responses:
        '201':
          description: Created
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    additionalProperties: false
                    required:
                      - creditNote
                    properties:
                      creditNote:
                        type: object
                        required:
                          - code
                          - isValid
                          - invoiceCode
                          - orderCode
                          - proofPaymentCode
                          - creationTime
                          - changeTime
                          - dueDate
                          - taxDate
                          - varSymbol
                          - constSymbol
                          - specSymbol
                          - stockAmountChangeType
                          - weight
                          - completePackageWeight
                          - billingMethod
                          - billingAddress
                          - deliveryAddress
                          - addressesEqual
                          - price
                          - customer
                          - eshop
                          - items
                          - documentRemark
                          - vatPayer
                        additionalProperties: false
                        properties:
                          code:
                            type: string
                            description: variant code (product) (can be `null`)
                            examples:
                              - '00000008'
                          isValid:
                            type: boolean
                            description: is the credit note valid?
                            examples:
                              - true
                          invoiceCode:
                            type:
                              - string
                              - 'null'
                            description: >-
                              invoice number (can be `null`). Caution! This does
                              not have to be just a number, it can also contain
                              letters, a dash, etc.
                            examples:
                              - '2017200011'
                          orderCode:
                            type:
                              - string
                              - 'null'
                            description: >-
                              purchase order number (can be `null`). Caution!
                              This does not have to be just a number, it can
                              also contain letters, a dash, etc.
                            examples:
                              - '2017000017'
                          proofPaymentCode:
                            type:
                              - string
                              - 'null'
                            description: >-
                              proof payment code (can be `null`). Caution! This
                              does not have to be just a number, it can also
                              contain letters, a dash, etc.
                            examples:
                              - P--2017200011-1
                          creationTime:
                            $ref: '#/components/schemas/typeDateTime'
                            description: date of issue, in ISO 8601 format
                          changeTime:
                            $ref: '#/components/schemas/typeDateTime'
                            description: date of change, in ISO 8601 format
                          dueDate:
                            type:
                              - string
                              - 'null'
                            $ref: '#/components/schemas/typeDate'
                            description: due date in ISO 8601 format (can be `null`)
                          taxDate:
                            type:
                              - string
                              - 'null'
                            $ref: '#/components/schemas/typeDate'
                            description: taxation date in ISO 8601 format (can be `null`)
                          varSymbol:
                            type: number
                            description: variable symbol
                            examples:
                              - 666
                          constSymbol:
                            type:
                              - integer
                              - 'null'
                            description: constant symbol (can be `null`)
                            examples:
                              - 6583
                          specSymbol:
                            type:
                              - number
                              - 'null'
                            description: specific symbol (can be `null`)
                            examples:
                              - 36534576
                          restocked:
                            type: boolean
                            description: Items in credit note were restocked?
                            examples:
                              - true
                          stockAmountChangeType:
                            type:
                              - string
                              - 'null'
                            description: type of change in stock quantity (can `be null`)
                          weight:
                            type:
                              - string
                              - 'null'
                            $ref: '#/components/schemas/typeWeightUnlimited'
                          completePackageWeight:
                            type:
                              - string
                              - 'null'
                            $ref: '#/components/schemas/typeWeightUnlimited'
                          billingMethod:
                            description: >-
                              information about the method of payment (can be
                              `null`)
                            oneOf:
                              - $ref: '#/components/schemas/billingMethod'
                              - type: 'null'
                          billingAddress:
                            type: object
                            $ref: '#/components/schemas/billingAddress'
                            description: invoicing address
                          deliveryAddress:
                            type:
                              - object
                              - 'null'
                            $ref: '#/components/schemas/address'
                            description: delivery address (can be `null`)
                          addressesEqual:
                            type: boolean
                            description: Are delivery and invoicing address the same?
                            examples:
                              - true
                          price:
                            type: object
                            $ref: '#/components/schemas/price'
                          customer:
                            type: object
                            $ref: '#/components/schemas/documentCustomer'
                          eshop:
                            type: object
                            $ref: '#/components/schemas/eshop'
                          items:
                            type: array
                            items:
                              $ref: '#/components/schemas/documentItemsWithPrice'
                          documentRemark:
                            type:
                              - string
                              - 'null'
                            description: remark on the document (can be `null`)
                            examples:
                              - This is a remark
                          vatPayer:
                            type: boolean
                            description: is the tradesman a VAT payer? (can be `null`)
                            examples:
                              - true
                          vatMode:
                            type:
                              - string
                              - 'null'
                            description: >-
                              VAT mode, can be null, possible values: `Normal`,
                              `One Stop Shop`, `Mini One Stop Shop`, `Reverse
                              charge`, `Outside the EU`
                            examples:
                              - Normal
                  errors:
                    $ref: '#/components/schemas/Errors'
                required:
                  - data
                  - errors
                additionalProperties: false
      summary: Credit note from invoice creation
      operationId: createCreditNoteFromInvoice
      description: >-
        Creating credit note from existing invoice.


        This endpoint has several sections, which are only sent when requested
        in the `include` parameter (see

        [Requested
        sections](#section/basic-principles-of-working-with-api/Section-on-demand)).



        Value | Section


        --------|------


        `surchargeParameters`| Item surcharge parameters


        It will create a credit note from the given invoice. It will

        automatically take all invoice items and add them to the credit note. If

        you want to add just some items from the invoice or different amount,

        use the parameter `items`. This parameter will allow you to generate

        credit note only with provided items.
      tags:
        - Credit notes
      parameters:
        - name: code
          in: path
          description: Code of invoice
          required: true
          example: '2018000004'
          schema:
            type: string
        - name: include
          in: query
          description: Sections to include
          required: false
          example: surchargeParameters
          schema:
            type: string
        - $ref: '#/components/parameters/DefaultContentType'
      requestBody:
        content:
          application/vnd.shoptet.v1.0+json:
            schema:
              type: object
              required:
                - data
              properties:
                data:
                  type: object
                  additionalProperties: false
                  properties:
                    creditNoteCode:
                      type: string
                      description: >-
                        Credit nore code. Optional, generated by eshop settings
                        if not set.
                      examples:
                        - '0000000099'
                    varSymbol:
                      type: number
                      minimum: 0
                      maximum: 9999999999
                      description: >-
                        Variable symbol. Optional, generated by eshop settings
                        if not set.
                      examples:
                        - 99
                    dueDate:
                      $ref: '#/components/schemas/typeDate'
                      description: >-
                        Due date. Optional, generated by eshop settings if not
                        set.
                    taxDate:
                      $ref: '#/components/schemas/typeDate'
                      description: Date of taxation. Default is today.
                    constSymbol:
                      $ref: '#/components/schemas/typeConstSymbol'
                    specSymbol:
                      type: number
                      minimum: 0
                      maximum: 9999999999
                      description: Spec symbol.
                      examples:
                        - 201323134
                    billingMethodId:
                      type: number
                      description: >-
                        Id of [billing
                        method](#section/code-lists/Invoice-Billing-Methods).
                        Defaults to order.
                      examples:
                        - 1
                    orderCode:
                      type: string
                      minLength: 1
                      maxLength: 10
                      description: Order Code. Optional.
                      examples:
                        - '201323134'
                    useItemIds:
                      type: array
                      minItems: 1
                      description: >-
                        List of invoice item ids. Can be found in field
                        `data.invoice.items.itemId` in Invoice detail.
                      items:
                        type: integer
                      deprecated: true
                    items:
                      type: array
                      minItems: 1
                      description: List of invoice item ids and their amounts.
                      items:
                        type: object
                        additionalProperties: false
                        required:
                          - invoiceItemId
                        properties:
                          invoiceItemId:
                            type: integer
                            minimum: 1
                            description: >-
                              Id of invoice item. Can be found in field
                              `data.invoice.items.itemId` in Invoice detail.
                            examples:
                              - 231
                          amount:
                            $ref: '#/components/schemas/typePositiveAmount'
                            description: >-
                              Amount of given item. Optional. If the property is
                              not provided, the amount is automatically taken
                              from the invoice.
                            examples:
                              - 1
  /api/proof-payments/{code}/credit-note:
    get:
      responses:
        '201':
          description: Created
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    additionalProperties: false
                    required:
                      - creditNote
                    properties:
                      creditNote:
                        type: object
                        required:
                          - code
                          - isValid
                          - invoiceCode
                          - orderCode
                          - proofPaymentCode
                          - creationTime
                          - changeTime
                          - dueDate
                          - taxDate
                          - varSymbol
                          - constSymbol
                          - specSymbol
                          - stockAmountChangeType
                          - weight
                          - completePackageWeight
                          - billingMethod
                          - billingAddress
                          - deliveryAddress
                          - addressesEqual
                          - price
                          - customer
                          - eshop
                          - items
                          - documentRemark
                          - vatPayer
                        additionalProperties: false
                        properties:
                          code:
                            type: string
                            description: variant code (product) (can be `null`)
                            examples:
                              - '00000008'
                          isValid:
                            type: boolean
                            description: is the credit note valid?
                            examples:
                              - true
                          invoiceCode:
                            type:
                              - string
                              - 'null'
                            description: >-
                              invoice number (can be `null`). Caution! This does
                              not have to be just a number, it can also contain
                              letters, a dash, etc.
                            examples:
                              - '2017200011'
                          orderCode:
                            type:
                              - string
                              - 'null'
                            description: >-
                              purchase order number (can be `null`). Caution!
                              This does not have to be just a number, it can
                              also contain letters, a dash, etc.
                            examples:
                              - '2017000017'
                          proofPaymentCode:
                            type:
                              - string
                              - 'null'
                            description: >-
                              proof payment code (can be `null`). Caution! This
                              does not have to be just a number, it can also
                              contain letters, a dash, etc.
                            examples:
                              - P--2017200011-1
                          creationTime:
                            $ref: '#/components/schemas/typeDateTime'
                            description: date of issue, in ISO 8601 format
                          changeTime:
                            $ref: '#/components/schemas/typeDateTime'
                            description: date of change, in ISO 8601 format
                          dueDate:
                            type:
                              - string
                              - 'null'
                            $ref: '#/components/schemas/typeDate'
                            description: due date in ISO 8601 format (can be `null`)
                          taxDate:
                            type:
                              - string
                              - 'null'
                            $ref: '#/components/schemas/typeDate'
                            description: taxation date in ISO 8601 format (can be `null`)
                          varSymbol:
                            type: number
                            description: variable symbol
                            examples:
                              - 666
                          constSymbol:
                            type:
                              - integer
                              - 'null'
                            description: constant symbol (can be `null`)
                            examples:
                              - 6583
                          specSymbol:
                            type:
                              - number
                              - 'null'
                            description: specific symbol (can be `null`)
                            examples:
                              - 36534576
                          restocked:
                            type: boolean
                            description: Items in credit note were restocked?
                            examples:
                              - true
                          stockAmountChangeType:
                            type:
                              - string
                              - 'null'
                            description: type of change in stock quantity (can `be null`)
                          weight:
                            type:
                              - string
                              - 'null'
                            $ref: '#/components/schemas/typeWeightUnlimited'
                          completePackageWeight:
                            type:
                              - string
                              - 'null'
                            $ref: '#/components/schemas/typeWeightUnlimited'
                          billingMethod:
                            description: >-
                              information about the method of payment (can be
                              `null`)
                            oneOf:
                              - $ref: '#/components/schemas/billingMethod'
                              - type: 'null'
                          billingAddress:
                            type: object
                            $ref: '#/components/schemas/billingAddress'
                            description: invoicing address
                          deliveryAddress:
                            type:
                              - object
                              - 'null'
                            $ref: '#/components/schemas/address'
                            description: delivery address (can be `null`)
                          addressesEqual:
                            type: boolean
                            description: Are delivery and invoicing address the same?
                            examples:
                              - true
                          price:
                            type: object
                            $ref: '#/components/schemas/price'
                          customer:
                            type: object
                            $ref: '#/components/schemas/documentCustomer'
                          eshop:
                            type: object
                            $ref: '#/components/schemas/eshop'
                          items:
                            type: array
                            items:
                              $ref: '#/components/schemas/documentItemsWithPrice'
                          documentRemark:
                            type:
                              - string
                              - 'null'
                            description: remark on the document (can be `null`)
                            examples:
                              - This is a remark
                          vatPayer:
                            type: boolean
                            description: is the tradesman a VAT payer? (can be `null`)
                            examples:
                              - true
                          vatMode:
                            type:
                              - string
                              - 'null'
                            description: >-
                              VAT mode, can be null, possible values: `Normal`,
                              `One Stop Shop`, `Mini One Stop Shop`, `Reverse
                              charge`, `Outside the EU`
                            examples:
                              - Normal
                  errors:
                    $ref: '#/components/schemas/Errors'
                required:
                  - data
                  - errors
                additionalProperties: false
        '404':
          description: Not Found
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              example:
                data: null
                errors:
                  - errorCode: proof-of-payment-not-found
                    message: Proof payment with code "P-2014000004-01" does not exist.
                    instance: P-2014000004-01
              schema:
                type: object
                properties:
                  data:
                    type: 'null'
                  errors:
                    $ref: '#/components/schemas/Errors'
                example:
                  data: null
                  errors:
                    - errorCode: proof-of-payment-not-found
                      message: >-
                        Proof payment with code "P-2014000004-01" does not
                        exist.
                      instance: P-2014000004-01
      summary: Credit note from proof of payment
      operationId: createCreditNoteFromProofOfPayment
      description: |-
        Creating credit note from existing proof of payment.

        It will create a credit note from the given proof of payment. It will
        automatically take all proof of payment items and add them to the credit
        note.
      tags:
        - Credit notes
        - Proof payments
      parameters:
        - name: code
          in: path
          description: Proof of payment code
          required: true
          example: P-2014000004-01
          schema:
            type: string
        - $ref: '#/components/parameters/DefaultContentType'
      requestBody:
        content:
          application/vnd.shoptet.v1.0+json:
            schema:
              type: object
              required:
                - data
              properties:
                data:
                  type: object
                  additionalProperties: false
                  properties:
                    creditNoteCode:
                      type: string
                      description: >-
                        Credit note code. Optional, generated by eshop settings
                        if not set.
                      examples:
                        - '0000000099'
                    varSymbol:
                      type: number
                      minimum: 0
                      maximum: 9999999999
                      description: >-
                        Variable symbol. Optional, generated by eshop settings
                        if not set.
                      examples:
                        - 99
                    dueDate:
                      $ref: '#/components/schemas/typeDate'
                      description: >-
                        Due date. Optional, generated by eshop settings if not
                        set.
                    taxDate:
                      $ref: '#/components/schemas/typeDate'
                      description: Date of taxation. Optional, default is today.
                    constSymbol:
                      $ref: '#/components/schemas/typeConstSymbol'
                      description: Constant symbol. Optional
                    specSymbol:
                      type: number
                      minimum: 0
                      maximum: 9999999999
                      description: Specific symbol. Optional
                      examples:
                        - 201323134
                    billingMethodId:
                      type: number
                      description: >-
                        Id of [billing method](#billing-methods-invoice).
                        Optional.
                      examples:
                        - 1
                    orderCode:
                      type: string
                      minLength: 1
                      maxLength: 10
                      description: >-
                        Order Code. Optional, defaults to proof payment's order
                        code if not set.
                      examples:
                        - '201323134'
  /api/credit-notes/{code}/item:
    post:
      responses:
        '200':
          description: OK
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    additionalProperties: false
                    required:
                      - creditNote
                    properties:
                      creditNote:
                        type: object
                        required:
                          - code
                          - isValid
                          - invoiceCode
                          - orderCode
                          - proofPaymentCode
                          - creationTime
                          - changeTime
                          - dueDate
                          - taxDate
                          - varSymbol
                          - constSymbol
                          - specSymbol
                          - stockAmountChangeType
                          - weight
                          - completePackageWeight
                          - billingMethod
                          - billingAddress
                          - deliveryAddress
                          - addressesEqual
                          - price
                          - customer
                          - eshop
                          - items
                          - documentRemark
                          - vatPayer
                        additionalProperties: false
                        properties:
                          code:
                            type: string
                            description: variant code (product) (can be `null`)
                            examples:
                              - '00000008'
                          isValid:
                            type: boolean
                            description: is the credit note valid?
                            examples:
                              - true
                          invoiceCode:
                            type:
                              - string
                              - 'null'
                            description: >-
                              invoice number (can be `null`). Caution! This does
                              not have to be just a number, it can also contain
                              letters, a dash, etc.
                            examples:
                              - '2017200011'
                          orderCode:
                            type:
                              - string
                              - 'null'
                            description: >-
                              purchase order number (can be `null`). Caution!
                              This does not have to be just a number, it can
                              also contain letters, a dash, etc.
                            examples:
                              - '2017000017'
                          proofPaymentCode:
                            type:
                              - string
                              - 'null'
                            description: >-
                              proof payment code (can be `null`). Caution! This
                              does not have to be just a number, it can also
                              contain letters, a dash, etc.
                            examples:
                              - P--2017200011-1
                          creationTime:
                            $ref: '#/components/schemas/typeDateTime'
                            description: date of issue, in ISO 8601 format
                          changeTime:
                            $ref: '#/components/schemas/typeDateTime'
                            description: date of change, in ISO 8601 format
                          dueDate:
                            type:
                              - string
                              - 'null'
                            $ref: '#/components/schemas/typeDate'
                            description: due date in ISO 8601 format (can be `null`)
                          taxDate:
                            type:
                              - string
                              - 'null'
                            $ref: '#/components/schemas/typeDate'
                            description: taxation date in ISO 8601 format (can be `null`)
                          varSymbol:
                            type: number
                            description: variable symbol
                            examples:
                              - 666
                          constSymbol:
                            type:
                              - integer
                              - 'null'
                            description: constant symbol (can be `null`)
                            examples:
                              - 6583
                          specSymbol:
                            type:
                              - number
                              - 'null'
                            description: specific symbol (can be `null`)
                            examples:
                              - 36534576
                          restocked:
                            type: boolean
                            description: Items in credit note were restocked?
                            examples:
                              - true
                          stockAmountChangeType:
                            type:
                              - string
                              - 'null'
                            description: type of change in stock quantity (can `be null`)
                          weight:
                            type:
                              - string
                              - 'null'
                            $ref: '#/components/schemas/typeWeightUnlimited'
                          completePackageWeight:
                            type:
                              - string
                              - 'null'
                            $ref: '#/components/schemas/typeWeightUnlimited'
                          billingMethod:
                            description: >-
                              information about the method of payment (can be
                              `null`)
                            oneOf:
                              - $ref: '#/components/schemas/billingMethod'
                              - type: 'null'
                          billingAddress:
                            type: object
                            $ref: '#/components/schemas/billingAddress'
                            description: invoicing address
                          deliveryAddress:
                            type:
                              - object
                              - 'null'
                            $ref: '#/components/schemas/address'
                            description: delivery address (can be `null`)
                          addressesEqual:
                            type: boolean
                            description: Are delivery and invoicing address the same?
                            examples:
                              - true
                          price:
                            type: object
                            $ref: '#/components/schemas/price'
                          customer:
                            type: object
                            $ref: '#/components/schemas/documentCustomer'
                          eshop:
                            type: object
                            $ref: '#/components/schemas/eshop'
                          items:
                            type: array
                            items:
                              $ref: '#/components/schemas/documentItemsWithPrice'
                          documentRemark:
                            type:
                              - string
                              - 'null'
                            description: remark on the document (can be `null`)
                            examples:
                              - This is a remark
                          vatPayer:
                            type: boolean
                            description: is the tradesman a VAT payer? (can be `null`)
                            examples:
                              - true
                          vatMode:
                            type:
                              - string
                              - 'null'
                            description: >-
                              VAT mode, can be null, possible values: `Normal`,
                              `One Stop Shop`, `Mini One Stop Shop`, `Reverse
                              charge`, `Outside the EU`
                            examples:
                              - Normal
                  errors:
                    $ref: '#/components/schemas/Errors'
                required:
                  - data
                  - errors
                additionalProperties: false
      summary: Creation of credit note item
      operationId: createCreditNoteItem
      description: Creates a new credit note item to an existing credit note.
      tags:
        - Credit notes
      parameters:
        - name: code
          in: path
          description: credit note code (number)
          required: true
          example: '2018000012'
          schema:
            type: string
        - $ref: '#/components/parameters/DefaultContentType'
      requestBody:
        content:
          application/vnd.shoptet.v1.0+json:
            schema:
              type: object
              required:
                - data
              properties:
                data:
                  type: object
                  additionalProperties: false
                  minProperties: 1
                  required:
                    - itemType
                    - name
                    - amount
                  properties:
                    itemType:
                      type: string
                      minLength: 1
                      description: >-
                        item type, required (allowed `product` or `product-set`
                        only)
                      examples:
                        - product
                    code:
                      type: string
                    amount:
                      type:
                        - string
                        - 'null'
                      $ref: '#/components/schemas/typeAmount'
                      description: name of item, required
                    name:
                      type:
                        - string
                        - 'null'
                      description: name of item, required
                      examples:
                        - Item name
                    variantName:
                      type:
                        - string
                        - 'null'
                      description: name of variant (can be `null`)
                      examples:
                        - white
                    amountUnit:
                      type:
                        - string
                        - 'null'
                      description: unit of amount (`kg`, `ks`) (can be `null`)
                      examples:
                        - kg
                    price:
                      type: string
                      description: >-
                        price of item, 2 decimal places accuracy (can be
                        `null`), default value `0.00`
                      examples:
                        - '100.00'
                    priceRatio:
                      minLength: 1
                      $ref: '#/components/schemas/typePriceRatio'
                      description: price ratio of item, required
                    includingVat:
                      type: boolean
                      description: >-
                        default value is false; whether the credit note item
                        price is saved with VAT or without
                      examples:
                        - true
                    vatRate:
                      $ref: '#/components/schemas/typeVatRate'
                      description: VAT rate in percent
                    weight:
                      type:
                        - string
                        - 'null'
                      $ref: '#/components/schemas/typeWeightRequest'
                      description: >-
                        weight of the item, 3 decimal places accuracy (can be
                        `null`)
                    remark:
                      type:
                        - string
                        - 'null'
                      description: item note (can be `null`)
                      examples:
                        - item note
                    additionalField:
                      type:
                        - string
                        - 'null'
                      description: field for additional info (can be `null`)
                      examples:
                        - additional info
  /api/credit-notes/{code}/item/{id}:
    patch:
      responses:
        '200':
          description: OK
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    required:
                      - creditNoteItem
                    additionalProperties: false
                    properties:
                      creditNoteItem:
                        $ref: '#/components/schemas/documentItemsWithPrice'
                  errors:
                    $ref: '#/components/schemas/Errors'
                required:
                  - data
                  - errors
                additionalProperties: false
      summary: Update of credit note item
      operationId: updateCreditNoteItem
      description: |-
        Updates credit note item. It's not possible to change `productType`
        property and it's not possible to update credit note item of another
        type then `product` or `product-set`.
      tags:
        - Credit notes
      parameters:
        - name: code
          in: path
          description: credit note code (number)
          required: true
          example: '2018000012'
          schema:
            type: string
        - name: id
          in: path
          description: |-
            credit note item id. Can be found in field
            `data.creditNote.items.itemId` in Credit note detail.  (number)
          required: true
          example: '198'
          schema:
            type: number
        - $ref: '#/components/parameters/DefaultContentType'
      requestBody:
        content:
          application/vnd.shoptet.v1.0+json:
            schema:
              type: object
              required:
                - data
              properties:
                data:
                  type: object
                  additionalProperties: false
                  minProperties: 1
                  properties:
                    code:
                      type: string
                    amount:
                      type:
                        - string
                        - 'null'
                      $ref: '#/components/schemas/typeAmount'
                      description: >-
                        amount of item, 3 decimal places accuracy, required. For
                        credit note you will probably use negative amount. (can
                        be `null`)
                    name:
                      type:
                        - string
                        - 'null'
                      description: name of item (can be `null`)
                      examples:
                        - Item name
                    variantName:
                      type:
                        - string
                        - 'null'
                      description: name of variant (can be `null`)
                      examples:
                        - white
                    amountUnit:
                      type:
                        - string
                        - 'null'
                      description: unit of amount (can be `null`)
                      examples:
                        - kg, ks
                    price:
                      type: string
                      description: >-
                        price of item, 3 decimal places accuracy (can be
                        `null`), default value `0.00`
                      examples:
                        - '125.00'
                    includingVat:
                      type: boolean
                      description: >-
                        default value is false; whether the credit note item
                        price is saved with VAT or without
                      examples:
                        - true
                    vatRate:
                      $ref: '#/components/schemas/typeVatRate'
                      description: VAT rate in percent
                    priceRatio:
                      minLength: 1
                      $ref: '#/components/schemas/typePriceRatio'
                      description: >-
                        value of discount of price, 4 decimal places accuracy,
                        (from `0.0000` to `1.0000`), e.g. `0.8500` means 85%
                        discount (can be `null`)
                    weight:
                      type:
                        - string
                        - 'null'
                      $ref: '#/components/schemas/typeWeightRequest'
                      description: >-
                        weight of the item, 3 decimal places accuracy (can be
                        `null`)
                    remark:
                      type:
                        - string
                        - 'null'
                      description: item note (can be `null`)
                      examples:
                        - Item note
                    additionalField:
                      type:
                        - string
                        - 'null'
                      description: field for additional info (can be `null`)
                      examples:
                        - additional info
    delete:
      responses:
        '200':
          description: OK
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    type: 'null'
                    additionalProperties: false
                  errors:
                    $ref: '#/components/schemas/Errors'
                required:
                  - data
                  - errors
                additionalProperties: false
              example:
                data: null
                errors: null
        '404':
          description: Not Found
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    type: 'null'
                  errors:
                    $ref: '#/components/schemas/Errors'
              example:
                data: null
                errors:
                  - errorCode: invalid-request-data
                    message: Credit note item with ID "956" was not found.
                    instance: integration-call
      summary: Deletion of credit note item
      operationId: deleteCreditNoteItem
      description: |-
        Deletes credit note item. It's not possible to delete credit note item
        of another type then `product` or `product-set`.
      tags:
        - Credit notes
      parameters:
        - name: code
          in: path
          description: credit note code (number)
          required: true
          example: '2018000012'
          schema:
            type: string
        - name: id
          in: path
          description: |-
            credit note item id. Can be found in field
            `data.creditNote.items.itemId` in Credit note detail.  (number)
          required: true
          example: '198'
          schema:
            type: number
        - $ref: '#/components/parameters/DefaultContentType'
  /api/credit-notes/{code}/pdf:
    get:
      responses:
        '200':
          description: OK
        '404':
          description: Not Found
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    type: 'null'
                  errors:
                    $ref: '#/components/schemas/Errors'
              example:
                data: null
                errors:
                  - errorCode: credit-note-not-found
                    message: Credit note with code "0000000002" not found.
                    instance: '0000000002'
        '500':
          description: Internal Server Error
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    type: 'null'
                  errors:
                    $ref: '#/components/schemas/Errors'
              example:
                data: null
                errors:
                  - errorCode: document-not-generated
                    message: |-
                      Error while getting document type "creditNote" with code
                      "0000000002".
                    instance: '0000000002'
      summary: Download credit note as PDF
      operationId: downloadCreditNotePdf
      description: |-
        You can request the credit note as PDF file, response will be as
        application/octet-stream. You can download pdf documents

        only one-by-one for every e-shop. Parallel requests end with `423
        Locked` error.
      tags:
        - Credit notes
      parameters:
        - name: code
          in: path
          description: ''
          required: true
          example: '0000000002'
          schema:
            type: string
        - $ref: '#/components/parameters/DefaultContentType'
  /api/credit-notes/{code}/isdoc:
    get:
      responses:
        '200':
          description: OK
        '404':
          description: Not Found
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    type: 'null'
                  errors:
                    $ref: '#/components/schemas/Errors'
              example:
                data: null
                errors:
                  - errorCode: credit-note-not-found
                    message: Credit note with code "0000000002" not found.
                    instance: '0000000002'
        '500':
          description: Internal Server Error
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    type: 'null'
                  errors:
                    $ref: '#/components/schemas/Errors'
              example:
                data: null
                errors:
                  - errorCode: document-not-generated
                    message: |-
                      Error while getting document type "creditNote" with code
                      "0000000002".
                    instance: '0000000002'
      summary: Download credit note as ISDOC
      operationId: downloadCreditNoteAsIsdoc
      description: |-
        You can request the credit note as ISDOC file, response will be as
        application/octet-stream. You can download the documents
        only one-by-one for every e-shop. Parallel requests end with `423
        Locked` error.
      tags:
        - Credit notes
      parameters:
        - name: code
          in: path
          description: ''
          required: true
          example: '0000000002'
          schema:
            type: string
        - $ref: '#/components/parameters/DefaultContentType'
  /api/credit-notes/changes:
    get:
      responses:
        '200':
          description: OK
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    additionalProperties: false
                    required:
                      - changes
                      - paginator
                    properties:
                      changes:
                        type: array
                        items:
                          type: object
                          additionalProperties: false
                          required:
                            - code
                            - changeTime
                            - changeType
                          properties:
                            code:
                              type: string
                              description: >-
                                identifier (number) of the document, which can
                                be used to query about the details.
                              examples:
                                - '201800014'
                            changeTime:
                              $ref: '#/components/schemas/typeDateTime'
                              description: >-
                                date and time when the event happened. ISO 8601
                                format (`2017-12-12T22:08:01+0100`).
                            changeType:
                              type: string
                              description: >-
                                type of event that happened with the document.
                                Possible values are following: `add`, `edit`,
                                `delete`.
                              examples:
                                - edit
                      paginator:
                        $ref: '#/components/schemas/paginator'
                  errors:
                    $ref: '#/components/schemas/Errors'
                required:
                  - data
                  - errors
                additionalProperties: false
      summary: Last credit note changes
      operationId: getLastCreditNoteChanges
      description: >-
        Returns the list of credit notes, which were changed. The Endpoint is
        intended to determine

        the changes after you have loaded the list of credit notes and you need
        to know the changes. 

        The guaranteed history of changes is 30 days.



        Each credit note is only given in the listing with its last change. For
        example, if the credit note was 

        modified and then deleted, the listing will only show information about
        its deletion.



        Can be filtered by changeType = edit/delete parameter.



        Creation is considered as `edit` action. So, when there is a new item
        created, it will be displayed 

        like `edit` action.



        Endpoint supports
        [pagination](#section/basic-principles-of-working-with-api/Paging).
      tags:
        - Credit notes
      parameters:
        - name: from
          in: query
          description: >-
            DateTime from which up to the present we are interested in the
            changes. + in the time zone
          required: true
          example: '2018-01-01T01:01:01+02:00'
          schema:
            type: string
        - name: changeType
          in: query
          description: Returning only edit or delete type changed records
          required: false
          example: edit
          schema:
            type: string
        - $ref: '#/components/parameters/DefaultContentType'
  /api/delivery-notes:
    get:
      responses:
        '200':
          description: OK
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    additionalProperties: false
                    required:
                      - deliveryNotes
                      - paginator
                    properties:
                      deliveryNotes:
                        type: array
                        items:
                          type: object
                          additionalProperties: false
                          required:
                            - code
                            - orderCode
                            - creationTime
                            - isValid
                            - billCompany
                            - billFullName
                          properties:
                            code:
                              type: string
                              description: variant code (product)
                              examples:
                                - '00000018'
                            isValid:
                              type: boolean
                              description: Is the delivery note valid?
                              examples:
                                - true
                            orderCode:
                              type:
                                - string
                                - 'null'
                              description: >-
                                purchase order number. Caution! This does not
                                have to be just a number, it can also contain
                                letters, a dash, etc.
                              examples:
                                - '2017000090'
                            creationTime:
                              $ref: '#/components/schemas/typeDateTime'
                              description: date of issue, in ISO 8601 format
                            billCompany:
                              type:
                                - string
                                - 'null'
                              description: name of the company
                              examples:
                                - John Doe Corp.
                            billFullName:
                              type:
                                - string
                                - 'null'
                              description: name and surname
                              examples:
                                - John Doe
                      paginator:
                        $ref: '#/components/schemas/paginator'
                  errors:
                    $ref: '#/components/schemas/Errors'
                required:
                  - data
                  - errors
                additionalProperties: false
      summary: List of delivery notes
      operationId: getListOfDeliveryNotes
      description: >-
        The list of delivery notes supports the
        [paging](#section/basic-principles-of-working-with-api/Paging).
      tags:
        - Delivery notes
      parameters:
        - name: isValid
          in: query
          description: sorting according to document validity
          schema:
            type: boolean
        - name: orderCode
          in: query
          description: sorting according to number of order
          schema:
            type: string
        - $ref: '#/components/parameters/DefaultContentType'
  /api/delivery-notes/snapshot:
    get:
      responses:
        '202':
          description: Accepted
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    additionalProperties: false
                    required:
                      - jobId
                    properties:
                      jobId:
                        examples:
                          - ad24xod
                        description: token of job
                        type: string
                  errors:
                    $ref: '#/components/schemas/Errors'
              example:
                data:
                  jobId: ad24xod
                errors:
                  - errorCode: example-error-code
                    message: Example error message
                    instance: instance
      summary: List of all delivery notes
      operationId: getListOfAllDeliveryNotes
      description: >-
        Using this endpoint, you can get list of all delivery notes with
        detailed info of each delivery note 

        (like in delivery Note Detail endpoint) asynchronously. 

        See how [Asynchronous
        requests](https://developers.shoptet.com/asynchronous-requests/) work on
        our

        developer's portal.



        Response will be in [jsonlines](https://jsonlines.org/) format with each
        product taking one line of output file.

        One delivery note in response has the same format as delivery note
        detail response.
      tags:
        - Delivery notes
      parameters:
        - name: creationTimeFrom
          in: query
          description: Export delivery notes created after date
          example: 2014-09-05T00:00:00%2B0000
          schema:
            type: string
        - name: creationTimeTo
          in: query
          description: Export delivery notes created before date
          example: 2019-09-05T00:00:00%2B0000
          schema:
            type: string
        - name: changeTimeFrom
          in: query
          description: Export delivery notes updated after date
          example: 2014-09-05T00:00:00%2B0000
          schema:
            type: string
        - name: changeTimeTo
          in: query
          description: Export delivery notes updated before date
          example: 2019-09-05T00:00:00%2B0000
          schema:
            type: string
        - name: codeFrom
          in: query
          description: Export delivery notes with code after given value
          example: '0000000006'
          schema:
            type: string
        - name: codeTo
          in: query
          description: Export delivery notes with code befor given value
          example: '0000000006'
          schema:
            type: string
        - name: orderCodeFrom
          in: query
          description: Export delivery notes with order code after given value
          example: '2017000010'
          schema:
            type: string
        - name: orderCodeTo
          in: query
          description: Export delivery notes with order code before given value
          example: '2017000010'
          schema:
            type: string
        - name: customerGuid
          in: query
          description: Export delivery notes with given customer
          example: 443cad54-73bc-11e8-8216-002590dad85e
          schema:
            type: string
        - name: isValid
          in: query
          description: Filtering according to document validity
          example: 'true'
          schema:
            type: boolean
        - $ref: '#/components/parameters/DefaultContentType'
  /api/delivery-notes/{code}:
    get:
      responses:
        '200':
          description: OK
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    additionalProperties: false
                    required:
                      - deliveryNote
                    properties:
                      deliveryNote:
                        type: object
                        additionalProperties: false
                        required:
                          - code
                          - isValid
                          - orderCode
                          - creationTime
                          - changeTime
                          - billingAddress
                          - deliveryAddress
                          - addressesEqual
                          - customer
                          - items
                          - documentRemark
                        properties:
                          code:
                            type: string
                            description: variant code (product)
                            examples:
                              - '00000018'
                          isValid:
                            type: boolean
                            description: Is the delivery note valid?
                            examples:
                              - true
                          orderCode:
                            type:
                              - string
                              - 'null'
                            description: >-
                              purchase order number. Caution! This does not have
                              to be just a number, it can also contain letters,
                              a dash, etc.
                            examples:
                              - '2017000090'
                          creationTime:
                            $ref: '#/components/schemas/typeDateTime'
                            description: date of issue, in ISO 8601 format
                          changeTime:
                            $ref: '#/components/schemas/typeDateTime'
                            description: date of last change, in ISO 8601 format
                          billingAddress:
                            type: object
                            $ref: '#/components/schemas/billingAddress'
                            description: invoicing address
                          deliveryAddress:
                            type:
                              - object
                              - 'null'
                            $ref: '#/components/schemas/address'
                          addressesEqual:
                            type: boolean
                            description: Are the billing and delivery addresses the same?
                            examples:
                              - true
                          customer:
                            type: object
                            $ref: '#/components/schemas/documentCustomer'
                          items:
                            type: array
                            description: content of the delivery note
                            items:
                              $ref: '#/components/schemas/deliveryNoteItem'
                          documentRemark:
                            type:
                              - string
                              - 'null'
                            description: remark for the document.
                            examples:
                              - 'Note: This is a test delivery note'
                  errors:
                    $ref: '#/components/schemas/Errors'
                required:
                  - data
                  - errors
                additionalProperties: false
        '404':
          description: Not Found
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    type: 'null'
                  errors:
                    $ref: '#/components/schemas/Errors'
              example:
                data: null
                errors:
                  - errorCode: delivery-note-not-found
                    message: Delivery note with code "000000000633" not found.
                    instance: '000000000633'
      summary: Detail of delivery note
      operationId: getDetailOfDeliveryNote
      description: >-
        Additional information about one delivery note.


        This endpoint has several sections, which are only sent when requested
        in the `include` parameter (see

        [Requested
        sections](#section/basic-principles-of-working-with-api/Section-on-demand)).


        Value | Section

        --------|------

        `surchargeParameters`| Item surcharge parameters
      tags:
        - Delivery notes
      parameters:
        - name: code
          in: path
          description: ''
          required: true
          example: '0000000003'
          schema:
            type: string
        - name: include
          in: query
          description: Optional parts of response
          example: surchargeParameters
          schema:
            type: string
        - $ref: '#/components/parameters/DefaultContentType'
  /api/delivery-notes/{code}/pdf:
    get:
      responses:
        '200':
          description: OK
        '404':
          description: Not Found
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    type: 'null'
                  errors:
                    $ref: '#/components/schemas/Errors'
              example:
                data: null
                errors:
                  - errorCode: delivery-note-not-found
                    message: Delivery note with code "0000000001" not found.
                    instance: '0000000001'
        '500':
          description: Internal Server Error
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    type: 'null'
                  errors:
                    $ref: '#/components/schemas/Errors'
              example:
                data: null
                errors:
                  - errorCode: document-not-generated
                    message: |-
                      Error while getting document type "deliveryNote" with code
                      "0000000001".
                    instance: '0000000001'
      summary: Download delivery note as PDF
      operationId: downloadDeliveryNoteAsPdf
      description: |-
        You can request the delivery note as PDF file, response will be as
        application/octet-stream. You can download pdf documents

        only one-by-one for every e-shop. Parallel requests end with `423
        Locked` error.
      tags:
        - Delivery notes
      parameters:
        - name: code
          in: path
          description: ''
          required: true
          example: '0000000001'
          schema:
            type: string
        - $ref: '#/components/parameters/DefaultContentType'
  /api/stocks:
    get:
      responses:
        '200':
          description: OK
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    additionalProperties: false
                    required:
                      - stocks
                      - defaultStockId
                    properties:
                      stocks:
                        type: array
                        items:
                          $ref: '#/components/schemas/stock'
                      defaultStockId:
                        type: integer
                  errors:
                    $ref: '#/components/schemas/Errors'
                required:
                  - data
                  - errors
                additionalProperties: false
      summary: List of stocks
      operationId: getListOfStocks
      description: >-
        Returns the list of stocks. There are usually not many stocks, therefore
        the endpoint returns all of 

        them without
        [paging](#section/basic-principles-of-working-with-api/Paging).
      tags:
        - Stocks
      parameters:
        - $ref: '#/components/parameters/DefaultContentType'
  /api/stocks/{stockId}:
    get:
      responses:
        '200':
          description: OK
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    additionalProperties: false
                    required:
                      - stock
                    properties:
                      stock:
                        $ref: '#/components/schemas/stock'
                  errors:
                    $ref: '#/components/schemas/Errors'
                required:
                  - data
                  - errors
                additionalProperties: false
      summary: Stock detail
      operationId: getStockDetail
      description: Returns detailed information about one stock.
      tags:
        - Stocks
      parameters:
        - name: stockId
          in: path
          description: ''
          required: true
          example: '1'
          schema:
            type: number
        - $ref: '#/components/parameters/DefaultContentType'
  /api/stocks/{stockId}/movements:
    get:
      responses:
        '200':
          description: OK
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    additionalProperties: false
                    required:
                      - movements
                      - paginator
                    properties:
                      movements:
                        type: array
                        items:
                          type: object
                          additionalProperties: false
                          required:
                            - id
                            - productCode
                            - actualAmount
                            - amountChange
                            - changedBy
                            - changeTime
                          properties:
                            id:
                              type: integer
                              description: >-
                                Synthetic unique incremental ID of log with
                                changes in stock
                              examples:
                                - '126222'
                            productCode:
                              type: string
                              description: unique identification of the product variant.
                              examples:
                                - 26/BIL
                            actualAmount:
                              $ref: '#/components/schemas/typeAmount'
                              description: >-
                                Current quantity in stock after carrying out the
                                change, as a decimal with three decimal places.
                              examples:
                                - '21.505'
                            amountChange:
                              $ref: '#/components/schemas/typeAmount'
                              description: >-
                                Change in stock quantity, as a decimal with
                                three decimal places.
                              examples:
                                - '0.505'
                            changedBy:
                              type:
                                - string
                                - 'null'
                              description: |-
                                Can have the following values: 
                                 - `admin` if the change was invoked by the e-shop administrator 
                                 - `customer` if the change was invoked by the e-shop customer 
                                 - e-mail or `null` for all other cases. 
                                 Upon a change invoked by a REST API request, the form of the e-mail is generated as per template `api.service-{service-id}@{e-shop-domain}.
                              examples:
                                - novak@shoptet.cz
                            changeTime:
                              type:
                                - string
                                - 'null'
                              $ref: '#/components/schemas/typeDateTime'
                              description: DateTime of product stock movement.
                            orderCode:
                              type:
                                - string
                                - 'null'
                              description: >-
                                Code of order which initiated stock movement,
                                present only with `orderCode` include flag
                              examples:
                                - '2017000049'
                            productGuid:
                              type:
                                - string
                                - 'null'
                              $ref: '#/components/schemas/typeGuidUnlimited'
                            sumAmount:
                              type:
                                - string
                                - 'null'
                              $ref: '#/components/schemas/typeAmount'
                              description: >-
                                Sum of all stocks for the product in time after
                                amount change was executed.
                              examples:
                                - '30.505'
                      paginator:
                        $ref: '#/components/schemas/paginator'
                  errors:
                    $ref: '#/components/schemas/Errors'
                required:
                  - data
                  - errors
                additionalProperties: false
      summary: Stock movements
      operationId: getStockMovements
      description: >-
        It returns the list of changes in product quantity, which were done

        within one stock. Supports the
        [paging](#section/basic-principles-of-working-with-api/Paging)
        `movements`.


        This endpoint supports optional parts using the `include` parameter (see

        [Requested
        sections](#section/basic-principles-of-working-with-api/Section-on-demand)).
        Please note that there is some

        performance penalty associated with the usage of "orderCode" `include`

        and/or query `parameter`.
      tags:
        - Stocks
      parameters:
        - name: stockId
          in: path
          description: ID of stock for which we would like the movements.
          required: true
          example: '1'
          schema:
            type: number
        - name: lastId
          in: query
          description: |-
            ID of last transfered record. If missing, the older records are
            sent.
          example: '45'
          schema:
            type: number
        - name: changeTimeFrom
          in: query
          description: |-
            Date of move, in ISO 8601 format, lower limit. It is not possible to
            use it as break poit, it is not unique value. Optional.
          example: 2021-03-01T00:00:00+0100
          schema:
            type: string
        - name: orderCode
          in: query
          description: Filtering according to order code.
          example: '2017000049'
          schema:
            type: string
        - name: include
          in: query
          description: Optional parts of response.
          example: orderCode,productGuid,sumAmount
          schema:
            type: string
        - $ref: '#/components/parameters/DefaultContentType'
    patch:
      responses:
        '200':
          description: OK
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    type: 'null'
                  errors:
                    $ref: '#/components/schemas/Errors'
              example:
                errors:
                  - errorCode: unknown-product
                    message: Product "001-non-exists" does not exist. Skipped.
                    instance: 001-non-exist
                  - errorCode: unknown-product
                    message: Product "002-non-exists" does not exist. Skipped.
                    instance: 002-non-exist
        '400':
          description: Bad Request
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    type: 'null'
                  errors:
                    $ref: '#/components/schemas/Errors'
              examples:
                example1:
                  value:
                    data: null
                    errors:
                      - errorCode: unknown-product
                        message: Product "82" does not exist. Skipped.
                        instance: '82'
                example2:
                  value:
                    data: null
                    errors:
                      - errorCode: stock-change-not-allowed
                        message: |-
                          Stock change not allowed for product set "82".
                          Skipped.
                        instance: '82'
      summary: Update quantity in stock
      operationId: updateQuantityInStock
      description: |-
        Endpoint enables the quantity of product in stock (relative and
        absolute) to be changed. Within a call, the update

        of multiple products at once can be requested (max. 100
        products/variants).


        In case an error occurs for one of the records, the correct records will
        be updated, the response will be `200 OK`

        and there will be records in the `errors` array for each failed record.
        If all records are incorrect, the response

        code will be `400 BAD REQUEST` instead.


        Item `productCode` is mandatory. Then one of the three items has to be
        provided:


        - `amountChange` to increase or decrease amount available for
        ordering/physically on stock (relative change)


        - `quantity` to set amount available for ordering (absolute amount)


        - `realStock` to set amount physically stored in a warehouse (absolute
        amount)


        The difference between `quantity` and `realStock` is amount of goods
        requested by the pending orders (so called "claim").


        `amount for ordering` = `realStock` - `claim`


        The claim cannot be changed explicitly, it is updated when a new order
        is submitted or an order is sent out. Please note,

        that the stock amount cannot be changed for product sets, where the
        amount is calculated dynamically from the individual

        products in the set. Trying to change the amount of product set will
        result in an error.
      tags:
        - Stocks
      parameters:
        - name: stockId
          in: path
          description: ID of the stock for which we would like the movements.
          required: true
          example: '1'
          schema:
            type: number
        - $ref: '#/components/parameters/DefaultContentType'
      requestBody:
        content:
          application/vnd.shoptet.v1.0+json:
            schema:
              type: object
              required:
                - data
              properties:
                data:
                  type: array
                  items:
                    type: object
                    oneOf:
                      - required:
                          - productCode
                          - amountChange
                        additionalProperties: false
                        properties:
                          productCode:
                            type: string
                            examples:
                              - 43/BIL
                          amountChange:
                            type: number
                            examples:
                              - 10
                      - required:
                          - productCode
                          - quantity
                        additionalProperties: false
                        properties:
                          productCode:
                            type: string
                            examples:
                              - 106/BIL
                          quantity:
                            type: number
                            examples:
                              - 10
                      - required:
                          - productCode
                          - realStock
                        additionalProperties: false
                        properties:
                          productCode:
                            type: string
                            examples:
                              - 106/BIL
                          realStock:
                            type: number
                            examples:
                              - 10
  /api/stocks/{stockId}/movements/last:
    get:
      responses:
        '200':
          description: OK
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    additionalProperties: false
                    required:
                      - lastId
                      - lastChangeTime
                    properties:
                      lastId:
                        type: integer
                        description: >-
                          Synthetic unique incremental ID of log with changes in
                          stock
                        examples:
                          - '736'
                      lastChangeTime:
                        type: string
                        $ref: '#/components/schemas/typeDateTime'
                        description: DateTime stock movement.
                  errors:
                    $ref: '#/components/schemas/Errors'
                required:
                  - data
                  - errors
                additionalProperties: false
      summary: Stock movements - Last move
      operationId: getStockMovementsLastMove
      description: It returns informations about last stock move.
      tags:
        - Stocks
      parameters:
        - name: stockId
          in: path
          description: ID of stock for which we would like the movements.
          required: true
          example: '1'
          schema:
            type: number
        - $ref: '#/components/parameters/DefaultContentType'
  /api/stocks/{stockId}/supplies:
    get:
      responses:
        '200':
          description: OK
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    additionalProperties: false
                    required:
                      - supplies
                      - paginator
                    properties:
                      supplies:
                        type: array
                        items:
                          type: object
                          additionalProperties: false
                          required:
                            - productGuid
                            - code
                            - amount
                            - claim
                          properties:
                            productGuid:
                              $ref: '#/components/schemas/typeGuidUnlimited'
                              description: global unique permanent product identifier
                            code:
                              type: string
                              description: unique identification of the product variant.
                              examples:
                                - 26/BIL
                            amount:
                              $ref: '#/components/schemas/typeAmount'
                              description: current quantity in stock.
                              examples:
                                - '50'
                            claim:
                              $ref: '#/components/schemas/typeAmount'
                              description: requirements on stock quantity.
                              examples:
                                - '5'
                            location:
                              type:
                                - string
                                - 'null'
                              description: stock position.
                              examples:
                                - A1
                            changeTime:
                              type:
                                - string
                                - 'null'
                              $ref: '#/components/schemas/typeDateTime'
                              description: >-
                                date and time of last change of stock quantity
                                (ISO 8601 format).
                      paginator:
                        $ref: '#/components/schemas/paginator'
                  errors:
                    $ref: '#/components/schemas/Errors'
                required:
                  - data
                  - errors
                additionalProperties: false
        '404':
          description: Not Found
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    type: 'null'
                    additionalProperties: false
                  errors:
                    $ref: '#/components/schemas/Errors'
                required:
                  - data
                  - errors
                additionalProperties: false
      summary: Product supplies in stock
      operationId: getProductSuppliesInStock
      description: >-
        Returns the product supplies in stock for all products in a specific
        stock, contains GUID, code and quantity 

        in stock for a specific product variant. It is possible to filter the
        specific GUID of a product, possibly 

        a variant code. The endpoint supports
        [paging](#section/basic-principles-of-working-with-api/Paging), 

        in case of filtering, the amount of items per page increases.



        This endpoint supports optional parts using the `include` parameter (see

        [Requested
        sections](#section/basic-principles-of-working-with-api/Section-on-demand)).
        The `changeTime` item 

        is always temporarily returned, however as of 16. 3. 2019 only upon
        using the `include` parameter.



        If you defined the `include=changeTime` parameter within the URL, the
        response will also contain the time

        when the last quantity in stock was changed.
      tags:
        - Stocks
      parameters:
        - name: stockId
          in: path
          description: ''
          required: true
          example: '1'
          schema:
            type: number
        - name: productGuid
          in: query
          description: ''
          example: 0023368f-d97b-11e0-b04f-57a43310b768
          schema:
            type: string
        - name: code
          in: query
          description: ''
          example: 26/BIL
          schema:
            type: string
        - name: onlyWithClaim
          in: query
          description: |-
            whether only products with claim greater than 0 should be returned.
            Defaults to `false`
          schema:
            type: boolean
        - name: changedFrom
          in: query
          description: >
            return only product supplies, which amount has been changed since
            date value of this parameter.

                                         
            It support maximum of 30 days in history. (optional, string). ISO
            8601 format ("2017-12-12T22:08:01+0100"). Optional.
          schema:
            type: string
        - $ref: '#/components/parameters/DefaultContentType'
  /api/suppliers:
    get:
      responses:
        '200':
          description: OK
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    additionalProperties: false
                    required:
                      - suppliers
                      - paginator
                    properties:
                      suppliers:
                        type: array
                        items:
                          $ref: '#/components/schemas/supplier'
                      paginator:
                        $ref: '#/components/schemas/paginator'
                  errors:
                    $ref: '#/components/schemas/Errors'
                required:
                  - data
                  - errors
                additionalProperties: false
      summary: List of suppliers
      operationId: getListOfSuppliers
      description: >-
        Returns the list of suppliers. Supports the
        [paging](#section/basic-principles-of-working-with-api/Paging)
      tags:
        - Suppliers
  /api/brands:
    get:
      responses:
        '200':
          description: OK
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    additionalProperties: false
                    required:
                      - brands
                      - paginator
                    properties:
                      brands:
                        type: array
                        items:
                          $ref: '#/components/schemas/brand'
                      paginator:
                        $ref: '#/components/schemas/paginator'
                  errors:
                    $ref: '#/components/schemas/Errors'
                required:
                  - data
                  - errors
                additionalProperties: false
      summary: List of brands
      operationId: getListofBrands
      description: >-
        Returns the list of brands. Supports the
        [paging](#section/basic-principles-of-working-with-api/Paging)
      tags:
        - Brands
      parameters:
        - $ref: '#/components/parameters/DefaultContentType'
    post:
      responses:
        '201':
          description: Created
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    $ref: '#/components/schemas/brand'
                  errors:
                    $ref: '#/components/schemas/Errors'
                required:
                  - data
                  - errors
                additionalProperties: false
      summary: Creation of brand
      operationId: createBrand
      description: ''
      tags:
        - Brands
      requestBody:
        content:
          application/vnd.shoptet.v1.0+json:
            schema:
              type: object
              required:
                - data
              properties:
                data:
                  type: object
                  additionalProperties: false
                  minProperties: 1
                  required:
                    - name
                  properties:
                    name:
                      type: string
                      description: Brand name
                      examples:
                        - Willy Wonka
                    indexName:
                      type:
                        - string
                        - 'null'
                      description: unique index name of brand
                      examples:
                        - willy-wonka
                    brandWeb:
                      type:
                        - string
                        - 'null'
                      description: Brand website
                      examples:
                        - https://willywonka.com
                    showInCategoriesMenu:
                      type: boolean
                      description: Is this brand shown in categories menu? Default is false
                      examples:
                        - true
                    showInBrandList:
                      type: boolean
                      description: Is this brand shown in brand list? Default is false
                      examples:
                        - true
                    description:
                      type:
                        - string
                        - 'null'
                      description: Description of brand. May contain HTML characters
                      examples:
                        - <p>Brand new chocolate <strong>everyday</strong></p>
                    metaTitle:
                      type:
                        - string
                        - 'null'
                      description: Meta title of brand
                      examples:
                        - Willy Wonka
                    metaDescription:
                      type:
                        - string
                        - 'null'
                      description: Meta description of brand
                      examples:
                        - Brand new chocolate everyday
      parameters:
        - $ref: '#/components/parameters/DefaultContentType'
  /api/brands/{code}:
    get:
      responses:
        '200':
          description: OK
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    $ref: '#/components/schemas/brand'
                  errors:
                    $ref: '#/components/schemas/Errors'
                required:
                  - data
                  - errors
                additionalProperties: false
        '404':
          description: Not Found
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              example:
                data: null
                errors:
                  - errorCode: brand-not-found
                    message: Brand "1e3f3f3f-3f3f-63ca-b93f-02423f1f0005" not found.
                    instance: 1e3f3f3f-3f3f-63ca-b93f-02423f1f0005
              schema:
                type: object
                properties:
                  data:
                    type: 'null'
                  errors:
                    $ref: '#/components/schemas/Errors'
      summary: Detail of brand
      operationId: getDetailOfBrand
      description: ''
      tags:
        - Brands
      parameters:
        - name: code
          in: path
          description: brand GUID
          required: true
          example: 1e3f3f3f-3f3f-63ca-b93f-02423f1f0005
          schema:
            type: string
        - $ref: '#/components/parameters/DefaultContentType'
    patch:
      responses:
        '200':
          description: OK
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    $ref: '#/components/schemas/brand'
                  errors:
                    $ref: '#/components/schemas/Errors'
                required:
                  - data
                  - errors
                additionalProperties: false
        '404':
          description: Not Found
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              example:
                data: null
                errors:
                  - errorCode: brand-not-found
                    message: Brand "1e3f3f3f-3f3f-63ca-b93f-02423f1f0005" not found.
                    instance: 1e3f3f3f-3f3f-63ca-b93f-02423f1f0005
              schema:
                type: object
                properties:
                  data:
                    type: 'null'
                  errors:
                    $ref: '#/components/schemas/Errors'
      summary: Update of brand
      operationId: updateBrand
      description: ''
      tags:
        - Brands
      parameters:
        - name: code
          in: path
          description: brand GUID
          required: true
          example: 1e3f3f3f-3f3f-63ca-b93f-02423f1f0005
          schema:
            type: string
        - $ref: '#/components/parameters/DefaultContentType'
      requestBody:
        content:
          application/vnd.shoptet.v1.0+json:
            schema:
              type: object
              required:
                - data
              properties:
                data:
                  type: object
                  additionalProperties: false
                  minProperties: 1
                  properties:
                    name:
                      type: string
                      description: Brand name
                      examples:
                        - Willy Wonka
                    indexName:
                      type: string
                      description: unique index name of brand
                      examples:
                        - willy-wonka
                    brandWeb:
                      type:
                        - string
                        - 'null'
                      description: Brand website
                      examples:
                        - https://willywonka.com
                    showInCategoriesMenu:
                      type: boolean
                      description: Is this brand shown in categories menu?
                      examples:
                        - true
                    showInBrandList:
                      type: boolean
                      description: Is this brand shown in brand list?
                      examples:
                        - true
                    description:
                      type:
                        - string
                        - 'null'
                      description: Description of brand. May contain HTML characters
                      examples:
                        - <p>Brand new chocolate <strong>everyday</strong></p>
                    metaTitle:
                      type:
                        - string
                        - 'null'
                      description: Meta title of brand
                      examples:
                        - Willy Wonka
                    metaDescription:
                      type:
                        - string
                        - 'null'
                      description: Meta description of brand
                      examples:
                        - Brand new chocolate everyday
    delete:
      responses:
        '200':
          description: OK
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    type: 'null'
                    additionalProperties: false
                  errors:
                    $ref: '#/components/schemas/Errors'
                required:
                  - data
                  - errors
                additionalProperties: false
        '404':
          description: Not Found
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              example:
                data: null
                errors:
                  - errorCode: brand-not-found
                    message: Brand "1e3f3f3f-3f3f-63ca-b93f-02423f1f0005" not found.
                    instance: 1e3f3f3f-3f3f-63ca-b93f-02423f1f0005
              schema:
                type: object
                properties:
                  data:
                    type: 'null'
                  errors:
                    $ref: '#/components/schemas/Errors'
        '409':
          description: Conflict
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              example:
                data: null
                errors:
                  - errorCode: brand-used-by-products
                    message: |-
                      Brand "1e3f3f3f-3f3f-63ca-b93f-02423f1f0005" cannot be
                      deleted, because some products are assigned to it.
                    instance: 1e3f3f3f-3f3f-63ca-b93f-02423f1f0005
              schema:
                type: object
                properties:
                  data:
                    type: 'null'
                  errors:
                    $ref: '#/components/schemas/Errors'
      summary: Deletion of brand
      operationId: deleteBrand
      description: |-
        If the brand cannot be deleted, because it is used by some product, a
        409 code is returned.

        Optional parameter `deleteUsed` with `true` value allows deletion of
        brand used by products.
      tags:
        - Brands
      parameters:
        - name: code
          in: path
          description: brand GUID
          required: true
          example: 1e3f3f3f-3f3f-63ca-b93f-02423f1f0005
          schema:
            type: string
        - name: deleteUsed
          in: query
          description: allows deletion of brand used by products if set to `true`
          required: false
          example: 'true'
          schema:
            type: boolean
            default: 'false'
        - $ref: '#/components/parameters/DefaultContentType'
  /api/brands/batch:
    post:
      responses:
        '202':
          description: Accepted
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    additionalProperties: false
                    required:
                      - jobId
                    properties:
                      jobId:
                        examples:
                          - ad24xod
                        description: token of job
                        type: string
                  errors:
                    $ref: '#/components/schemas/Errors'
                required:
                  - data
                  - errors
                additionalProperties: false
      summary: BATCH creation of brands
      operationId: createBrandBatch
      description: |-
        This endpoint allows you to create multiple brands at once. Batch
        creation is processed asynchronously in same way as for example products
        snapshot,

        but it does not have `resultUrl` in response. Instead, you can check
        attribute `log` which contains successfully created brands and errors.


        See how [Asynchronous
        requests](https://developers.shoptet.com/asynchronous-requests/) work on
        our developer's portal.


        File with data for update must be in JSONL
        ([jsonlines](https://jsonlines.org/)) format. Each line must contain one
        brand in JSON format. Maximum size of file is 100MB.

        Structure of JSON row is same as structure of JSON for single brand
        creation above.


        Asynchronous job process jsonl file row by row and try to validate and
        save data. If there is any error, row is skipped and error is logged,
        but it does not stop processing of other rows. In Log, every product is
        identified by its position in file (starting from 1).
      tags:
        - Brands
      requestBody:
        content:
          application/vnd.shoptet.v1.0+json:
            schema:
              type: object
              additionalProperties: false
              required:
                - batchFileUrlPath
              properties:
                batchFileUrlPath:
                  type: string
                  description: >-
                    Url to batch file with products data. File must be in JSONL
                    format.
                  examples:
                    - https://cdn.myshoptet.com/batch-products-update.jsonl
      parameters:
        - $ref: '#/components/parameters/DefaultContentType'
  /api/customers:
    get:
      responses:
        '200':
          description: OK
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    additionalProperties: false
                    required:
                      - customers
                      - paginator
                    properties:
                      customers:
                        type: array
                        items:
                          type: object
                          additionalProperties: false
                          required:
                            - guid
                            - creationTime
                            - billCompany
                            - billFullName
                            - changeTime
                            - adminUrl
                          properties:
                            guid:
                              $ref: '#/components/schemas/typeGuidUnlimited'
                              description: Customer GUID
                            creationTime:
                              $ref: '#/components/schemas/typeDateTime'
                              description: registration date
                            changeTime:
                              $ref: '#/components/schemas/typeDateTime'
                              description: date and time of last change
                            billCompany:
                              type:
                                - string
                                - 'null'
                              description: name of the company (can be `null`)
                              examples:
                                - Manak Delicacies
                            billFullName:
                              type:
                                - string
                                - 'null'
                              description: full name of the customer (can be `null`)
                              examples:
                                - George Manak
                            adminUrl:
                              type: string
                              description: link to the customer details in administration
                              examples:
                                - >-
                                  https://www.domena-eshopu.cz/admin/zakaznici-detail?id=16
                      paginator:
                        $ref: '#/components/schemas/paginator'
                  errors:
                    $ref: '#/components/schemas/Errors'
                required:
                  - data
                  - errors
                additionalProperties: false
      summary: List of customers
      operationId: getListOfCustomers
      description: >-
        Listing of customers. Supports the
        [paging](#section/basic-principles-of-working-with-api/Paging).
      tags:
        - Customers
      parameters:
        - name: email
          in: query
          description: |-
            filtering as per customer’s e-mails. An accurate match is searched
            for, regardless of capitalization.
          schema:
            type: string
        - name: phone
          in: query
          description: ''
          example: '+420123456789'
          schema:
            type: string
        - $ref: '#/components/parameters/DefaultContentType'
    post:
      responses:
        '201':
          description: Created
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    additionalProperties: false
                    required:
                      - customer
                    properties:
                      customer:
                        type: object
                        required:
                          - guid
                          - billingAddress
                          - deliveryAddress
                          - creationTime
                          - customerGroup
                          - priceList
                          - remark
                          - priceRatio
                          - birthDate
                          - disabledOrders
                          - accounts
                          - remarks
                          - changeTime
                          - adminUrl
                        additionalProperties: false
                        properties:
                          guid:
                            $ref: '#/components/schemas/typeGuidUnlimited'
                            description: Customer GUID
                          billingAddress:
                            $ref: '#/components/schemas/billingAddress'
                            description: invoicing address
                          deliveryAddress:
                            type: array
                            description: delivery addresses
                            items:
                              $ref: '#/components/schemas/deliveryAddressCustomer'
                          creationTime:
                            $ref: '#/components/schemas/typeDateTime'
                            description: registration date
                          changeTime:
                            $ref: '#/components/schemas/typeDateTime'
                            description: date and time of last change
                          customerGroup:
                            type:
                              - object
                              - 'null'
                            required:
                              - id
                              - name
                            description: group of customers
                            properties:
                              id:
                                type: number
                                description: customer group ID
                                examples:
                                  - 1
                              name:
                                type: string
                                description: customer group name
                                examples:
                                  - VIP
                          priceList:
                            type:
                              - object
                              - 'null'
                            $ref: '#/components/schemas/pricelist'
                            description: inclusion into the price list (can be `null`)
                          remark:
                            type:
                              - string
                              - 'null'
                            description: remark for the customer (can be `null`)
                            examples:
                              - customer is very nice
                          priceRatio:
                            $ref: '#/components/schemas/typePriceRatio'
                            description: >-
                              additional discount - 0.7800 = discount 22%;
                              1.0000 = no discount
                          birthDate:
                            type:
                              - string
                              - 'null'
                            $ref: '#/components/schemas/typeDate'
                            description: >-
                              date of birth. In YYYY-MM-DD format.  (can be
                              `null`)
                          accounts:
                            type: array
                            description: customer login accounts
                            items:
                              type: object
                              additionalProperties: false
                              required:
                                - guid
                                - fullName
                                - email
                                - phone
                                - mainAccount
                                - authorized
                                - emailVerified
                              properties:
                                guid:
                                  $ref: '#/components/schemas/typeGuidUnlimited'
                                  description: customer account identifier
                                fullName:
                                  type:
                                    - string
                                    - 'null'
                                  description: full name (can be `null`)
                                  examples:
                                    - John Doe
                                email:
                                  type: string
                                  description: email address
                                  examples:
                                    - john@example.com
                                phone:
                                  type:
                                    - string
                                    - 'null'
                                  description: phone (can be `null`)
                                  examples:
                                    - '+420777888999'
                                mainAccount:
                                  type: boolean
                                  description: Is this the main account?
                                  examples:
                                    - true
                                authorized:
                                  type: boolean
                                  description: 'Is the account authorized? Default: true'
                                  examples:
                                    - true
                                emailVerified:
                                  type: boolean
                                  description: >-
                                    Is the email verified by eshop owner? Needed
                                    for pairing orders created in past. Default:
                                    false
                                  examples:
                                    - true
                          disabledOrders:
                            type: boolean
                            description: >-
                              Ordering disabled? If so, newly created orders
                              will be cancelled automatically. Dependent on the
                              addition of ` customerReviews`. If e-shop does not
                              have an option active, the answer will be `false`.
                            examples:
                              - false
                          remarks:
                            type: array
                            description: >-
                              customer notes and ratings, dependent on addon
                              `customerReviews`. If e-shop does not have an
                              option active, the answer will be blank.
                            items:
                              type: object
                              additionalProperties: false
                              required:
                                - id
                                - remark
                                - rating
                              properties:
                                id:
                                  type: integer
                                  description: uniq identification number
                                  examples:
                                    - 1
                                remark:
                                  type: string
                                  description: note
                                  examples:
                                    - customer is very nice
                                rating:
                                  type: string
                                  description: type of rating
                                  examples:
                                    - positive
                          adminUrl:
                            type: string
                            description: link to the customer details in administration
                            examples:
                              - >-
                                https://www.domena-eshopu.cz/admin/zakaznici-detail?id=16
                  errors:
                    $ref: '#/components/schemas/Errors'
                required:
                  - data
                  - errors
                additionalProperties: false
      summary: Creation of customer
      operationId: createCustomer
      description: ''
      tags:
        - Customers
      parameters:
        - name: suppressMandatoryFieldsCheck
          in: query
          description: |-
            suppress checking if new customer has filled all mandatory fields
            from eshop settings `Settings -> Customers -> Mandatory fields`.
            Suppressing this check can cause worse customer experience in order
            process for customers without all mandatory fields! However this can
            be useful for migration customers from older system without all
            necessary fields.
          example: 'false'
          schema:
            type: string
            default: 'false'
        - $ref: '#/components/parameters/DefaultContentType'
      requestBody:
        content:
          application/vnd.shoptet.v1.0+json:
            schema:
              type: object
              additionalProperties: false
              required:
                - data
              properties:
                data:
                  type: object
                  additionalProperties: false
                  required:
                    - account
                  minProperties: 1
                  properties:
                    remark:
                      type:
                        - string
                        - 'null'
                      minLength: 1
                      description: remark for the customer (can be `null`)
                      examples:
                        - remark
                    priceRatio:
                      minLength: 1
                      $ref: '#/components/schemas/typePriceRatio'
                      description: >-
                        additional discount - 4 decimal places accuracy, (from
                        `0.0000` to `1.0000`), 0.7800 = discount 22%; 1.0000 =
                        no discount
                    birthDate:
                      type:
                        - string
                        - 'null'
                      description: date of birth. In YYYY-MM-DD format.  (can be `null`)
                      examples:
                        - '1974-03-14'
                    disabledOrders:
                      type: boolean
                      description: >-
                        Ordering disabled? If so, newly created orders will be
                        cancelled automatically.
                      examples:
                        - true
                    customerGroupCode:
                      type: string
                      minLength: 1
                      description: customer group code, group must exists if set.
                      examples:
                        - retail
                    pricelistId:
                      type: integer
                      description: Price list identifier
                      examples:
                        - 1
                    billingAddress:
                      $ref: '#/components/schemas/billingAddressCustomer'
                      description: billing address
                    account:
                      type: object
                      additionalProperties: false
                      required:
                        - email
                      properties:
                        fullName:
                          type:
                            - string
                            - 'null'
                          minLength: 1
                          maxLength: 128
                          description: full name (can be `null`)
                          examples:
                            - Jan Novak
                        email:
                          type: string
                          minLength: 1
                          maxLength: 128
                          description: email address
                          examples:
                            - jan.novak@gmail.com
                        phone:
                          type:
                            - string
                            - 'null'
                          minLength: 1
                          maxLength: 30
                          description: phone number (can be `null`)
                          examples:
                            - '420777888999'
                        authorized:
                          type: boolean
                          description: 'Is the account authorized? Default: true'
                          examples:
                            - true
                        emailVerified:
                          type: boolean
                          description: >-
                            Is the email verified by eshop owner? Needed for
                            pairing orders created in past. Default: false
                          examples:
                            - true
  /api/customers/snapshot:
    get:
      responses:
        '202':
          description: Accepted
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    additionalProperties: false
                    required:
                      - jobId
                    properties:
                      jobId:
                        examples:
                          - ad24xod
                        description: token of job
                        type: string
                  errors:
                    $ref: '#/components/schemas/Errors'
      summary: List of all customers
      operationId: getListOfAllCustomers
      description: >-
        Using this endpoint, you can get list of all customers with detailed
        info of each customer (like in Customer Detail endpoint)

        asynchronously. See how [Asynchronous
        requests](https://developers.shoptet.com/asynchronous-requests/) work on
        our

        developer's portal.



        Response will be in [jsonlines](https://jsonlines.org/) format with each
        product taking one line of output file.

        One product in response has the same format as product detail response
        (in `data.customer` attribute)



        Result file is compressed using GZIP.
      tags:
        - Customers
      parameters:
        - name: creationTimeFrom
          in: query
          description: Export customers created after date
          example: 2014-09-05T00:00:00+0100
          schema:
            type: string
        - name: creationTimeTo
          in: query
          description: Export customers created before date
          example: 2019-09-05T00:00:00+0100
          schema:
            type: string
        - name: changeTimeFrom
          in: query
          description: Export customers changed after date
          example: 2017-01-01T00:00:00+0100
          schema:
            type: string
        - name: changeTimeTo
          in: query
          description: Export customers changed before date
          example: 2018-12-31T00:00:00+0100
          schema:
            type: string
        - $ref: '#/components/parameters/DefaultContentType'
  /api/customers/{guid}:
    get:
      responses:
        '200':
          description: OK
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    additionalProperties: false
                    required:
                      - customer
                    properties:
                      customer:
                        type: object
                        required:
                          - guid
                          - billingAddress
                          - deliveryAddress
                          - creationTime
                          - customerGroup
                          - priceList
                          - remark
                          - priceRatio
                          - birthDate
                          - disabledOrders
                          - accounts
                          - remarks
                          - changeTime
                          - adminUrl
                        additionalProperties: false
                        properties:
                          guid:
                            $ref: '#/components/schemas/typeGuidUnlimited'
                            description: Customer GUID
                          billingAddress:
                            $ref: '#/components/schemas/billingAddress'
                            description: invoicing address
                          deliveryAddress:
                            type: array
                            description: delivery addresses
                            items:
                              $ref: '#/components/schemas/deliveryAddressCustomer'
                          creationTime:
                            $ref: '#/components/schemas/typeDateTime'
                            description: registration date
                          changeTime:
                            $ref: '#/components/schemas/typeDateTime'
                            description: date and time of last change
                          customerGroup:
                            type:
                              - object
                              - 'null'
                            required:
                              - id
                              - name
                            description: group of customers
                            properties:
                              id:
                                type: number
                                description: customer group ID
                                examples:
                                  - 1
                              name:
                                type: string
                                description: customer group name
                                examples:
                                  - VIP
                          priceList:
                            type:
                              - object
                              - 'null'
                            $ref: '#/components/schemas/pricelist'
                            description: inclusion into the price list (can be `null`)
                          remark:
                            type:
                              - string
                              - 'null'
                            description: remark for the customer (can be `null`)
                            examples:
                              - customer is very nice
                          priceRatio:
                            $ref: '#/components/schemas/typePriceRatio'
                            description: >-
                              additional discount - 0.7800 = discount 22%;
                              1.0000 = no discount
                          birthDate:
                            type:
                              - string
                              - 'null'
                            $ref: '#/components/schemas/typeDate'
                            description: >-
                              date of birth. In YYYY-MM-DD format.  (can be
                              `null`)
                          accounts:
                            type: array
                            description: customer login accounts
                            items:
                              type: object
                              additionalProperties: false
                              required:
                                - guid
                                - fullName
                                - email
                                - phone
                                - mainAccount
                                - authorized
                                - emailVerified
                              properties:
                                guid:
                                  $ref: '#/components/schemas/typeGuidUnlimited'
                                  description: customer account identifier
                                fullName:
                                  type:
                                    - string
                                    - 'null'
                                  description: full name (can be `null`)
                                  examples:
                                    - John Doe
                                email:
                                  type: string
                                  description: email address
                                  examples:
                                    - john@example.com
                                phone:
                                  type:
                                    - string
                                    - 'null'
                                  description: phone (can be `null`)
                                  examples:
                                    - '+420777888999'
                                mainAccount:
                                  type: boolean
                                  description: Is this the main account?
                                  examples:
                                    - true
                                authorized:
                                  type: boolean
                                  description: 'Is the account authorized? Default: true'
                                  examples:
                                    - true
                                emailVerified:
                                  type: boolean
                                  description: >-
                                    Is the email verified by eshop owner? Needed
                                    for pairing orders created in past. Default:
                                    false
                                  examples:
                                    - true
                          disabledOrders:
                            type: boolean
                            description: >-
                              Ordering disabled? If so, newly created orders
                              will be cancelled automatically. Dependent on the
                              addition of ` customerReviews`. If e-shop does not
                              have an option active, the answer will be `false`.
                            examples:
                              - false
                          remarks:
                            type: array
                            description: >-
                              customer notes and ratings, dependent on addon
                              `customerReviews`. If e-shop does not have an
                              option active, the answer will be blank.
                            items:
                              type: object
                              additionalProperties: false
                              required:
                                - id
                                - remark
                                - rating
                              properties:
                                id:
                                  type: integer
                                  description: uniq identification number
                                  examples:
                                    - 1
                                remark:
                                  type: string
                                  description: note
                                  examples:
                                    - customer is very nice
                                rating:
                                  type: string
                                  description: type of rating
                                  examples:
                                    - positive
                          adminUrl:
                            type: string
                            description: link to the customer details in administration
                            examples:
                              - >-
                                https://www.domena-eshopu.cz/admin/zakaznici-detail?id=16
                  errors:
                    $ref: '#/components/schemas/Errors'
                required:
                  - data
                  - errors
                additionalProperties: false
        '404':
          description: Not Found
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    type: 'null'
                  errors:
                    $ref: '#/components/schemas/Errors'
              example:
                data: null
                errors:
                  - errorCode: customer-not-found
                    message: |-
                      Customer with guid "157e7215-9035-11e4-a769-ac162d8a2454"
                      not found.
                    instance: 157e7215-9035-11e4-a769-ac162d8a2454
      summary: Customer detail
      operationId: getCustomerDetail
      description: Additional information about one customer.
      tags:
        - Customers
      parameters:
        - name: guid
          in: path
          description: ''
          required: true
          example: 443cad54-73bc-11e8-8216-002590dad85e
          schema:
            type: string
        - $ref: '#/components/parameters/DefaultContentType'
    patch:
      responses:
        '200':
          description: OK
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    additionalProperties: false
                    required:
                      - customer
                    properties:
                      customer:
                        type: object
                        required:
                          - guid
                          - billingAddress
                          - deliveryAddress
                          - creationTime
                          - customerGroup
                          - priceList
                          - remark
                          - priceRatio
                          - birthDate
                          - disabledOrders
                          - accounts
                          - remarks
                          - changeTime
                          - adminUrl
                        additionalProperties: false
                        properties:
                          guid:
                            $ref: '#/components/schemas/typeGuidUnlimited'
                            description: Customer GUID
                          billingAddress:
                            $ref: '#/components/schemas/billingAddress'
                            description: invoicing address
                          deliveryAddress:
                            type: array
                            description: delivery addresses
                            items:
                              $ref: '#/components/schemas/deliveryAddressCustomer'
                          creationTime:
                            $ref: '#/components/schemas/typeDateTime'
                            description: registration date
                          changeTime:
                            $ref: '#/components/schemas/typeDateTime'
                            description: date and time of last change
                          customerGroup:
                            type:
                              - object
                              - 'null'
                            required:
                              - id
                              - name
                            description: group of customers
                            properties:
                              id:
                                type: number
                                description: customer group ID
                                examples:
                                  - 1
                              name:
                                type: string
                                description: customer group name
                                examples:
                                  - VIP
                          priceList:
                            type:
                              - object
                              - 'null'
                            $ref: '#/components/schemas/pricelist'
                            description: inclusion into the price list (can be `null`)
                          remark:
                            type:
                              - string
                              - 'null'
                            description: remark for the customer (can be `null`)
                            examples:
                              - customer is very nice
                          priceRatio:
                            $ref: '#/components/schemas/typePriceRatio'
                            description: >-
                              additional discount - 0.7800 = discount 22%;
                              1.0000 = no discount
                          birthDate:
                            type:
                              - string
                              - 'null'
                            $ref: '#/components/schemas/typeDate'
                            description: >-
                              date of birth. In YYYY-MM-DD format.  (can be
                              `null`)
                          accounts:
                            type: array
                            description: customer login accounts
                            items:
                              type: object
                              additionalProperties: false
                              required:
                                - guid
                                - fullName
                                - email
                                - phone
                                - mainAccount
                                - authorized
                                - emailVerified
                              properties:
                                guid:
                                  $ref: '#/components/schemas/typeGuidUnlimited'
                                  description: customer account identifier
                                fullName:
                                  type:
                                    - string
                                    - 'null'
                                  description: full name (can be `null`)
                                  examples:
                                    - John Doe
                                email:
                                  type: string
                                  description: email address
                                  examples:
                                    - john@example.com
                                phone:
                                  type:
                                    - string
                                    - 'null'
                                  description: phone (can be `null`)
                                  examples:
                                    - '+420777888999'
                                mainAccount:
                                  type: boolean
                                  description: Is this the main account?
                                  examples:
                                    - true
                                authorized:
                                  type: boolean
                                  description: 'Is the account authorized? Default: true'
                                  examples:
                                    - true
                                emailVerified:
                                  type: boolean
                                  description: >-
                                    Is the email verified by eshop owner? Needed
                                    for pairing orders created in past. Default:
                                    false
                                  examples:
                                    - true
                          disabledOrders:
                            type: boolean
                            description: >-
                              Ordering disabled? If so, newly created orders
                              will be cancelled automatically. Dependent on the
                              addition of ` customerReviews`. If e-shop does not
                              have an option active, the answer will be `false`.
                            examples:
                              - false
                          remarks:
                            type: array
                            description: >-
                              customer notes and ratings, dependent on addon
                              `customerReviews`. If e-shop does not have an
                              option active, the answer will be blank.
                            items:
                              type: object
                              additionalProperties: false
                              required:
                                - id
                                - remark
                                - rating
                              properties:
                                id:
                                  type: integer
                                  description: uniq identification number
                                  examples:
                                    - 1
                                remark:
                                  type: string
                                  description: note
                                  examples:
                                    - customer is very nice
                                rating:
                                  type: string
                                  description: type of rating
                                  examples:
                                    - positive
                          adminUrl:
                            type: string
                            description: link to the customer details in administration
                            examples:
                              - >-
                                https://www.domena-eshopu.cz/admin/zakaznici-detail?id=16
                  errors:
                    $ref: '#/components/schemas/Errors'
                required:
                  - data
                  - errors
                additionalProperties: false
      summary: Update of customer
      operationId: updateCustomer
      description: ''
      tags:
        - Customers
      parameters:
        - name: guid
          in: path
          description: ''
          required: true
          example: 443cad54-73bc-11e8-8216-002590dad85e
          schema:
            type: string
        - $ref: '#/components/parameters/DefaultContentType'
      requestBody:
        content:
          application/vnd.shoptet.v1.0+json:
            schema:
              type: object
              additionalProperties: false
              required:
                - data
              properties:
                data:
                  type: object
                  additionalProperties: false
                  minProperties: 1
                  properties:
                    remark:
                      type:
                        - string
                        - 'null'
                      minLength: 1
                      description: remark for the customer (can be `null`)
                      examples:
                        - remark
                    priceRatio:
                      minLength: 1
                      $ref: '#/components/schemas/typePriceRatio'
                      description: >-
                        additional discount - 4 decimal places accuracy, (from
                        `0.0000` to `1.0000`), 0.7800 = discount 22%; 1.0000 =
                        no discount
                    birthDate:
                      type:
                        - string
                        - 'null'
                      description: date of birth. In YYYY-MM-DD format.  (can be `null`)
                      examples:
                        - '1974-03-14'
                    disabledOrders:
                      type: boolean
                      description: >-
                        Ordering disabled? If so, newly created orders will be
                        cancelled automatically.
                      examples:
                        - true
                    customerGroupCode:
                      type: string
                      minLength: 1
                      description: customer group code, group must exists if set.
                      examples:
                        - retail
                    pricelistId:
                      type: integer
                      description: Price list identifier
                      examples:
                        - 1
                    billingAddress:
                      $ref: '#/components/schemas/billingAddressCustomer'
                      description: billing address
    delete:
      responses:
        '200':
          description: OK
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    type: 'null'
                    additionalProperties: false
                  errors:
                    $ref: '#/components/schemas/Errors'
                required:
                  - data
                  - errors
                additionalProperties: false
      summary: Deletion of customer
      operationId: deleteCustomer
      description: ''
      tags:
        - Customers
      parameters:
        - name: guid
          in: path
          description: ''
          required: true
          example: 747fb32d-73bc-11e8-8216-002590dad85e
          schema:
            type: string
        - $ref: '#/components/parameters/DefaultContentType'
  /api/customers/{guid}/accounts:
    get:
      responses:
        '200':
          description: OK
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    additionalProperties: false
                    required:
                      - accounts
                      - paginator
                    properties:
                      accounts:
                        type: array
                        items:
                          type: object
                          additionalProperties: false
                          required:
                            - guid
                            - fullName
                            - email
                            - phone
                            - mainAccount
                            - authorized
                            - emailVerified
                          properties:
                            guid:
                              $ref: '#/components/schemas/typeGuidUnlimited'
                              description: The unique identifier of the account.
                            fullName:
                              type:
                                - string
                                - 'null'
                              description: full name (can be `null`)
                              examples:
                                - Jan Novak
                            email:
                              type: string
                              description: email address
                              examples:
                                - jan.novak@gmail.com
                            phone:
                              type:
                                - string
                                - 'null'
                              description: phone number (can be `null`)
                              examples:
                                - '420777888999'
                            mainAccount:
                              type: boolean
                              description: Is this account the main account?
                              examples:
                                - true
                            authorized:
                              type: boolean
                              description: 'Is the account authorized? Default: true'
                              examples:
                                - true
                            emailVerified:
                              type: boolean
                              description: >-
                                Is the email verified by eshop owner? Needed for
                                pairing orders created in past. Default: false
                              examples:
                                - true
                      paginator:
                        $ref: '#/components/schemas/paginator'
                  errors:
                    $ref: '#/components/schemas/Errors'
                required:
                  - data
                  - errors
                additionalProperties: false
      summary: List of customer accounts
      operationId: getListOfCustomerAccounts
      description: >-
        List of customer accounts supports the
        [paging](#section/basic-principles-of-working-with-api/Paging).
      tags:
        - Customers
      parameters:
        - name: guid
          in: path
          description: ''
          required: true
          example: 45f0cc8c-b7a9-11ea-a7a1-08002746ad91
          schema:
            type: string
        - $ref: '#/components/parameters/DefaultContentType'
    post:
      responses:
        '201':
          description: Created
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    additionalProperties: false
                    required:
                      - account
                    properties:
                      account:
                        type: object
                        additionalProperties: false
                        required:
                          - guid
                          - fullName
                          - email
                          - phone
                          - mainAccount
                          - authorized
                          - emailVerified
                        properties:
                          guid:
                            $ref: '#/components/schemas/typeGuidUnlimited'
                            description: The unique identifier of the account.
                          fullName:
                            type:
                              - string
                              - 'null'
                            description: full name (can be `null`)
                            examples:
                              - Jan Novak
                          email:
                            type: string
                            description: email address
                            examples:
                              - jan.novak@gmail.com
                          phone:
                            type:
                              - string
                              - 'null'
                            description: phone number (can be `null`)
                            examples:
                              - '420777888999'
                          mainAccount:
                            type: boolean
                            description: Is this account the main account?
                            examples:
                              - true
                          authorized:
                            type: boolean
                            description: 'Is the account authorized? Default: true'
                            examples:
                              - true
                          emailVerified:
                            type: boolean
                            description: >-
                              Is the email verified by eshop owner? Needed for
                              pairing orders created in past. Default: false
                            examples:
                              - true
                  errors:
                    $ref: '#/components/schemas/Errors'
                required:
                  - data
                  - errors
                additionalProperties: false
      summary: Creation of customer account
      operationId: createCustomerAccount
      description: ''
      tags:
        - Customers
      parameters:
        - name: guid
          in: path
          description: ''
          required: true
          example: 45f0cc8c-b7a9-11ea-a7a1-08002746ad91
          schema:
            type: string
        - $ref: '#/components/parameters/DefaultContentType'
      requestBody:
        content:
          application/vnd.shoptet.v1.0+json:
            schema:
              type: object
              additionalProperties: false
              required:
                - data
              properties:
                data:
                  type: object
                  additionalProperties: false
                  required:
                    - email
                  properties:
                    fullName:
                      type:
                        - string
                        - 'null'
                      minLength: 1
                      maxLength: 128
                      description: full name (can be `null`)
                      examples:
                        - Jan Novak
                    email:
                      type: string
                      minLength: 1
                      maxLength: 128
                      description: email address
                      examples:
                        - jan.novak@gmail.com
                    phone:
                      type:
                        - string
                        - 'null'
                      minLength: 1
                      maxLength: 30
                      description: phone number (can be `null`)
                      examples:
                        - '420777888999'
                    mainAccount:
                      type: boolean
                      description: Is this account the main account?
                      examples:
                        - true
                    authorized:
                      type: boolean
                      description: 'Is the account authorized? Default: true'
                      examples:
                        - true
                    emailVerified:
                      type: boolean
                      description: >-
                        Is the email verified by eshop owner? Needed for pairing
                        orders created in past. Default: false
                      examples:
                        - true
  /api/customers/{guid}/accounts/{accountGuid}:
    get:
      responses:
        '200':
          description: OK
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    additionalProperties: false
                    required:
                      - account
                    properties:
                      account:
                        type: object
                        additionalProperties: false
                        required:
                          - guid
                          - fullName
                          - email
                          - phone
                          - mainAccount
                          - authorized
                          - emailVerified
                        properties:
                          guid:
                            $ref: '#/components/schemas/typeGuidUnlimited'
                            description: The unique identifier of the account.
                          fullName:
                            type:
                              - string
                              - 'null'
                            description: full name (can be `null`)
                            examples:
                              - Jan Novak
                          email:
                            type: string
                            description: email address
                            examples:
                              - jan.novak@gmail.com
                          phone:
                            type:
                              - string
                              - 'null'
                            description: phone number (can be `null`)
                            examples:
                              - '420777888999'
                          mainAccount:
                            type: boolean
                            description: Is this account the main account?
                            examples:
                              - true
                          authorized:
                            type: boolean
                            description: 'Is the account authorized? Default: true'
                            examples:
                              - true
                          emailVerified:
                            type: boolean
                            description: >-
                              Is the email verified by eshop owner? Needed for
                              pairing orders created in past. Default: false
                            examples:
                              - true
                  errors:
                    $ref: '#/components/schemas/Errors'
                required:
                  - data
                  - errors
                additionalProperties: false
      summary: Detail of customer account
      operationId: getDetailOfCustomerAccount
      description: ''
      tags:
        - Customers
      parameters:
        - name: guid
          in: path
          description: ''
          required: true
          example: 45f0cc8c-b7a9-11ea-a7a1-08002746ad91
          schema:
            type: string
        - name: accountGuid
          in: path
          description: ''
          required: true
          example: 460e4fbe-b7a9-11ea-82ab-08002746ad91
          schema:
            type: string
        - $ref: '#/components/parameters/DefaultContentType'
    patch:
      responses:
        '200':
          description: OK
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    additionalProperties: false
                    required:
                      - account
                    properties:
                      account:
                        type: object
                        additionalProperties: false
                        required:
                          - guid
                          - fullName
                          - email
                          - phone
                          - mainAccount
                          - authorized
                          - emailVerified
                        properties:
                          guid:
                            $ref: '#/components/schemas/typeGuidUnlimited'
                            description: The unique identifier of the account.
                          fullName:
                            type:
                              - string
                              - 'null'
                            description: full name (can be `null`)
                            examples:
                              - Jan Novak
                          email:
                            type: string
                            description: email address
                            examples:
                              - jan.novak@gmail.com
                          phone:
                            type:
                              - string
                              - 'null'
                            description: phone number (can be `null`)
                            examples:
                              - '420777888999'
                          mainAccount:
                            type: boolean
                            description: Is this account the main account?
                            examples:
                              - true
                          authorized:
                            type: boolean
                            description: 'Is the account authorized? Default: true'
                            examples:
                              - true
                          emailVerified:
                            type: boolean
                            description: >-
                              Is the email verified by eshop owner? Needed for
                              pairing orders created in past. Default: false
                            examples:
                              - true
                  errors:
                    $ref: '#/components/schemas/Errors'
                required:
                  - data
                  - errors
                additionalProperties: false
      summary: Update of customer account
      operationId: updateCustomerAccount
      description: ''
      tags:
        - Customers
      parameters:
        - name: guid
          in: path
          description: ''
          required: true
          example: 45f0cc8c-b7a9-11ea-a7a1-08002746ad91
          schema:
            type: string
        - name: accountGuid
          in: path
          description: ''
          required: true
          example: 460e4fbe-b7a9-11ea-82ab-08002746ad91
          schema:
            type: string
        - $ref: '#/components/parameters/DefaultContentType'
      requestBody:
        content:
          application/vnd.shoptet.v1.0+json:
            schema:
              type: object
              additionalProperties: false
              required:
                - data
              properties:
                data:
                  type: object
                  additionalProperties: false
                  minProperties: 1
                  properties:
                    fullName:
                      type:
                        - string
                        - 'null'
                      minLength: 1
                      maxLength: 128
                      description: full name (can be `null`)
                      examples:
                        - Jan Novak
                    email:
                      type: string
                      minLength: 1
                      maxLength: 128
                      description: email address
                      examples:
                        - jan.novak@gmail.com
                    phone:
                      type:
                        - string
                        - 'null'
                      minLength: 1
                      maxLength: 30
                      description: phone number (can be `null`)
                      examples:
                        - '420777888999'
                    mainAccount:
                      type: boolean
                      description: Is this account the main account?
                      examples:
                        - true
                    authorized:
                      type: boolean
                      description: 'Is the account authorized? Default: true'
                      examples:
                        - true
                    emailVerified:
                      type: boolean
                      description: >-
                        Is the email verified by eshop owner? Needed for pairing
                        orders created in past. Default: false
                      examples:
                        - true
    delete:
      responses:
        '200':
          description: OK
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    type: 'null'
                    additionalProperties: false
                  errors:
                    $ref: '#/components/schemas/Errors'
                required:
                  - data
                  - errors
                additionalProperties: false
      summary: Deletion of customer account
      operationId: deleteCustomerAccount
      description: ''
      tags:
        - Customers
      parameters:
        - name: guid
          in: path
          description: ''
          required: true
          example: 45f0cc8c-b7a9-11ea-a7a1-08002746ad91
          schema:
            type: string
        - name: accountGuid
          in: path
          description: ''
          required: true
          example: 460e4fbe-b7a9-11ea-82ab-08002746ad91
          schema:
            type: string
        - $ref: '#/components/parameters/DefaultContentType'
  /api/customers/{guid}/delivery-addresses:
    get:
      responses:
        '200':
          description: OK
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    additionalProperties: false
                    required:
                      - deliveryAddresses
                      - paginator
                    properties:
                      deliveryAddresses:
                        type: array
                        items:
                          $ref: '#/components/schemas/deliveryAddressCustomer'
                      paginator:
                        $ref: '#/components/schemas/paginator'
                  errors:
                    $ref: '#/components/schemas/Errors'
                required:
                  - data
                  - errors
                additionalProperties: false
      summary: List of customer delivery addresses
      operationId: geListOfCustomerDeliveryAddresses
      description: >-
        List of customer delivery addresses, supports the
        [paging](#section/basic-principles-of-working-with-api/Paging).
      tags:
        - Customers
      parameters:
        - name: guid
          in: path
          description: ''
          required: true
          example: 45f0cc8c-b7a9-11ea-a7a1-08002746ad91
          schema:
            type: string
        - $ref: '#/components/parameters/DefaultContentType'
    post:
      responses:
        '201':
          description: Created
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    additionalProperties: false
                    required:
                      - deliveryAddress
                    properties:
                      deliveryAddress:
                        $ref: '#/components/schemas/deliveryAddressCustomer'
                  errors:
                    $ref: '#/components/schemas/Errors'
                required:
                  - data
                  - errors
                additionalProperties: false
      summary: Creation of delivery address
      operationId: createDeliveryAddress
      description: ''
      tags:
        - Customers
      parameters:
        - name: guid
          in: path
          description: ''
          required: true
          example: 45f0cc8c-b7a9-11ea-a7a1-08002746ad91
          schema:
            type: string
        - $ref: '#/components/parameters/DefaultContentType'
      requestBody:
        content:
          application/vnd.shoptet.v1.0+json:
            schema:
              type: object
              additionalProperties: false
              required:
                - data
              properties:
                data:
                  type: object
                  additionalProperties: false
                  required:
                    - countryCode
                  minProperties: 1
                  properties:
                    fullName:
                      type:
                        - string
                        - 'null'
                      minLength: 1
                      maxLength: 64
                      description: full name (can be `null`)
                      examples:
                        - John Lard
                    company:
                      type:
                        - string
                        - 'null'
                      minLength: 1
                      maxLength: 255
                      description: company (can be `null`)
                      examples:
                        - Lard Shop
                    street:
                      type:
                        - string
                        - 'null'
                      minLength: 1
                      maxLength: 100
                      description: street (can be `null`)
                      examples:
                        - Lard street
                    houseNumber:
                      type:
                        - string
                        - 'null'
                      minLength: 1
                      maxLength: 16
                      description: house number (can be `null`)
                      examples:
                        - '5647'
                    city:
                      type:
                        - string
                        - 'null'
                      minLength: 1
                      maxLength: 100
                      description: city/town (can be `null`)
                      examples:
                        - Čelákovice
                    district:
                      type:
                        - string
                        - 'null'
                      minLength: 1
                      maxLength: 64
                      description: region (can be `null`)
                      examples:
                        - Prague-East
                    additional:
                      type:
                        - string
                        - 'null'
                      minLength: 1
                      maxLength: 64
                      description: additonal info (can be `null`)
                      examples:
                        - Arcade
                    zip:
                      type:
                        - string
                        - 'null'
                      minLength: 1
                      maxLength: 100
                      description: ZIP/postal code (can be `null`)
                      examples:
                        - '25088'
                    countryCode:
                      type: string
                      minLength: 1
                      description: country (can be `null`)
                    regionName:
                      type:
                        - string
                        - 'null'
                      minLength: 1
                      description: region name (can be `null`)
                      examples:
                        - Central Bohemia
                    isDefault:
                      type: boolean
                      examples:
                        - true
  /api/customers/{guid}/delivery-addresses/{addressGuid}:
    get:
      responses:
        '200':
          description: OK
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    additionalProperties: false
                    required:
                      - deliveryAddress
                    properties:
                      deliveryAddress:
                        $ref: '#/components/schemas/deliveryAddressCustomer'
                  errors:
                    $ref: '#/components/schemas/Errors'
                required:
                  - data
                  - errors
                additionalProperties: false
      summary: Detail of customer delivery address
      operationId: getDetailOfCustomerDeliveryAddress
      description: ''
      tags:
        - Customers
      parameters:
        - name: guid
          in: path
          description: ''
          required: true
          example: 45f0cc8c-b7a9-11ea-a7a1-08002746ad91
          schema:
            type: string
        - name: addressGuid
          in: path
          description: ''
          required: true
          example: 2592b624-b73f-11ea-8a73-08002746ad91
          schema:
            type: string
        - $ref: '#/components/parameters/DefaultContentType'
    patch:
      responses:
        '200':
          description: OK
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    additionalProperties: false
                    required:
                      - deliveryAddress
                    properties:
                      deliveryAddress:
                        $ref: '#/components/schemas/deliveryAddressCustomer'
                  errors:
                    $ref: '#/components/schemas/Errors'
                required:
                  - data
                  - errors
                additionalProperties: false
      summary: Update of customer delivery address
      operationId: updateCustomerDeliveryAddress
      description: ''
      tags:
        - Customers
      parameters:
        - name: guid
          in: path
          description: ''
          required: true
          example: 45f0cc8c-b7a9-11ea-a7a1-08002746ad91
          schema:
            type: string
        - name: addressGuid
          in: path
          description: ''
          required: true
          example: 2592b624-b73f-11ea-8a73-08002746ad91
          schema:
            type: string
        - $ref: '#/components/parameters/DefaultContentType'
      requestBody:
        content:
          application/vnd.shoptet.v1.0+json:
            schema:
              type: object
              additionalProperties: false
              required:
                - data
              properties:
                data:
                  type: object
                  additionalProperties: false
                  minProperties: 1
                  properties:
                    fullName:
                      type:
                        - string
                        - 'null'
                      minLength: 1
                      maxLength: 64
                      description: full name (can be `null`)
                      examples:
                        - John Lard
                    company:
                      type:
                        - string
                        - 'null'
                      minLength: 1
                      maxLength: 255
                      description: company (can be `null`)
                      examples:
                        - Lard Shop
                    street:
                      type:
                        - string
                        - 'null'
                      minLength: 1
                      maxLength: 100
                      description: street (can be `null`)
                      examples:
                        - Lard street
                    houseNumber:
                      type:
                        - string
                        - 'null'
                      minLength: 1
                      maxLength: 16
                      description: house number (can be `null`)
                      examples:
                        - '5647'
                    city:
                      type:
                        - string
                        - 'null'
                      minLength: 1
                      maxLength: 100
                      description: city/town (can be `null`)
                      examples:
                        - Čelákovice
                    district:
                      type:
                        - string
                        - 'null'
                      minLength: 1
                      maxLength: 64
                      description: region (can be `null`)
                      examples:
                        - Prague-East
                    additional:
                      type:
                        - string
                        - 'null'
                      minLength: 1
                      maxLength: 64
                      description: additonal info (can be `null`)
                      examples:
                        - Arcade
                    zip:
                      type:
                        - string
                        - 'null'
                      minLength: 1
                      maxLength: 100
                      description: ZIP/postal code (can be `null`)
                      examples:
                        - '25088'
                    countryCode:
                      type: string
                      minLength: 1
                      description: country (can be `null`)
                    regionName:
                      type:
                        - string
                        - 'null'
                      minLength: 1
                      description: region name (can be `null`)
                      examples:
                        - Central Bohemia
                    isDefault:
                      type: boolean
                      examples:
                        - true
    delete:
      responses:
        '200':
          description: OK
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    type: 'null'
                    additionalProperties: false
                  errors:
                    $ref: '#/components/schemas/Errors'
                required:
                  - data
                  - errors
                additionalProperties: false
      summary: Deletion of customer delivery address
      operationId: deleteCustomerDeliveryAddress
      description: ''
      tags:
        - Customers
      parameters:
        - name: guid
          in: path
          description: ''
          required: true
          example: 45f0cc8c-b7a9-11ea-a7a1-08002746ad91
          schema:
            type: string
        - name: addressGuid
          in: path
          description: ''
          required: true
          example: 2592b624-b73f-11ea-8a73-08002746ad91
          schema:
            type: string
        - $ref: '#/components/parameters/DefaultContentType'
  /api/customers/{guid}/remarks:
    get:
      responses:
        '200':
          description: OK
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    additionalProperties: false
                    required:
                      - remarks
                      - paginator
                    properties:
                      remarks:
                        type: array
                        items:
                          type: object
                          additionalProperties: false
                          required:
                            - id
                            - rating
                            - remark
                          properties:
                            id:
                              type: integer
                              description: uniq identification number
                              examples:
                                - 1
                            rating:
                              type: string
                              description: type of rating
                              examples:
                                - positive
                            remark:
                              type: string
                              description: customer remark
                              examples:
                                - Order payment delays
                      paginator:
                        $ref: '#/components/schemas/paginator'
                  errors:
                    $ref: '#/components/schemas/Errors'
                required:
                  - data
                  - errors
                additionalProperties: false
      summary: List of customer remarks
      operationId: getListOfCustomerRemarks
      description: >-
        List of customer remarks, supports the
        [paging](#section/basic-principles-of-working-with-api/Paging).
      tags:
        - Customers
      parameters:
        - name: guid
          in: path
          description: ''
          required: true
          example: 45f0cc8c-b7a9-11ea-a7a1-08002746ad91
          schema:
            type: string
        - $ref: '#/components/parameters/DefaultContentType'
    post:
      responses:
        '201':
          description: Created
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    additionalProperties: false
                    required:
                      - remark
                    properties:
                      remark:
                        type: object
                        additionalProperties: false
                        required:
                          - id
                          - rating
                          - remark
                        properties:
                          id:
                            type: integer
                            description: uniq identification number
                            examples:
                              - 1
                          rating:
                            type: string
                            description: type of rating
                            examples:
                              - positive
                          remark:
                            type: string
                            description: customer remark
                            examples:
                              - Order payment delays
                  errors:
                    $ref: '#/components/schemas/Errors'
                required:
                  - data
                  - errors
                additionalProperties: false
      summary: Creation of customer remark
      operationId: createCustomerRemark
      description: ''
      tags:
        - Customers
      parameters:
        - name: guid
          in: path
          description: ''
          required: true
          example: 45f0cc8c-b7a9-11ea-a7a1-08002746ad91
          schema:
            type: string
        - $ref: '#/components/parameters/DefaultContentType'
      requestBody:
        content:
          application/vnd.shoptet.v1.0+json:
            schema:
              type: object
              properties:
                schema:
                  type: object
                  additionalProperties: false
                  required:
                    - data
                  properties:
                    data:
                      type: object
                      additionalProperties: false
                      required:
                        - rating
                        - remark
                      properties:
                        rating:
                          type: string
                          minLength: 1
                          maxLength: 255
                          description: type of rating
                          examples:
                            - negative
                        remark:
                          type: string
                          minLength: 1
                          description: Your remark, note, for customer
                          examples:
                            - Top customer
  /api/customers/{guid}/remarks/{id}:
    get:
      responses:
        '200':
          description: OK
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    additionalProperties: false
                    required:
                      - remark
                    properties:
                      remark:
                        type: object
                        additionalProperties: false
                        required:
                          - id
                          - rating
                          - remark
                        properties:
                          id:
                            type: integer
                            description: uniq identification number
                            examples:
                              - 1
                          rating:
                            type: string
                            description: type of rating
                            examples:
                              - positive
                          remark:
                            type: string
                            description: customer remark
                            examples:
                              - Order payment delays
                  errors:
                    $ref: '#/components/schemas/Errors'
                required:
                  - data
                  - errors
                additionalProperties: false
      summary: Detail of customer remark
      operationId: getDetailOfCustomerRemark
      description: ''
      tags:
        - Customers
      parameters:
        - name: guid
          in: path
          description: ''
          required: true
          example: 45f0cc8c-b7a9-11ea-a7a1-08002746ad91
          schema:
            type: string
        - name: id
          in: path
          description: ''
          required: true
          example: '1'
          schema:
            type: string
        - $ref: '#/components/parameters/DefaultContentType'
    patch:
      responses:
        '200':
          description: OK
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    additionalProperties: false
                    required:
                      - remark
                    properties:
                      remark:
                        type: object
                        additionalProperties: false
                        required:
                          - id
                          - rating
                          - remark
                        properties:
                          id:
                            type: integer
                            description: uniq identification number
                            examples:
                              - 1
                          rating:
                            type: string
                            description: type of rating
                            examples:
                              - positive
                          remark:
                            type: string
                            description: customer remark
                            examples:
                              - Order payment delays
                  errors:
                    $ref: '#/components/schemas/Errors'
                required:
                  - data
                  - errors
                additionalProperties: false
      summary: Update of customer remark
      operationId: updateCustomerRemark
      description: ''
      tags:
        - Customers
      parameters:
        - name: guid
          in: path
          description: ''
          required: true
          example: 45f0cc8c-b7a9-11ea-a7a1-08002746ad91
          schema:
            type: string
        - name: id
          in: path
          description: ''
          required: true
          example: '1'
          schema:
            type: string
        - $ref: '#/components/parameters/DefaultContentType'
      requestBody:
        content:
          application/vnd.shoptet.v1.0+json:
            schema:
              type: object
              additionalProperties: false
              required:
                - data
              properties:
                data:
                  type: object
                  additionalProperties: false
                  minProperties: 1
                  properties:
                    rating:
                      type: string
                      minLength: 1
                      maxLength: 255
                      description: type of rating
                      examples:
                        - negative
                    remark:
                      type: string
                      minLength: 1
                      description: Your remark, note, for customer
                      examples:
                        - Top customer
    delete:
      responses:
        '200':
          description: OK
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    type: 'null'
                    additionalProperties: false
                  errors:
                    $ref: '#/components/schemas/Errors'
                required:
                  - data
                  - errors
                additionalProperties: false
      summary: Deletion of customer remark
      operationId: deleteCustomerRemark
      description: ''
      tags:
        - Customers
      parameters:
        - name: guid
          in: path
          description: ''
          required: true
          example: 45f0cc8c-b7a9-11ea-a7a1-08002746ad91
          schema:
            type: string
        - name: id
          in: path
          description: ''
          required: true
          example: '1'
          schema:
            type: string
        - $ref: '#/components/parameters/DefaultContentType'
  /api/customers/changes:
    get:
      responses:
        '200':
          description: OK
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    additionalProperties: false
                    required:
                      - changes
                      - paginator
                    properties:
                      changes:
                        type: array
                        items:
                          type: object
                          additionalProperties: false
                          required:
                            - guid
                            - changeTime
                            - changeType
                          properties:
                            guid:
                              $ref: '#/components/schemas/typeGuidUnlimited'
                              description: >-
                                customer identifier that can be used to query
                                about the details of the customer.
                            changeTime:
                              $ref: '#/components/schemas/typeDateTime'
                              description: >-
                                date and time, when the event happened. ISO 8601
                                format (`2017-12-12T22:08:01+0100`).
                            changeType:
                              type: string
                              description: >-
                                type of event that happened with the entity.
                                Possible values are following: `add`, `edit`,
                                `delete`.
                              examples:
                                - edit
                      paginator:
                        $ref: '#/components/schemas/paginator'
                  errors:
                    $ref: '#/components/schemas/Errors'
                required:
                  - data
                  - errors
                additionalProperties: false
      summary: Last customer changes
      operationId: getLastCustomerChanges
      description: >-
        Returns the list of customers who have been changed (added/changed or
        deleted). The Endpoint is intended 

        to determine the changes after you have loaded the complete list of
        customers and you need to know, if 

        any of these has been changed (or added or deleted).  Guaranteed history
        is 30 days, the older data are 

        deleted progressively.



        Each customer in the log is only mentioned with their last change. For
        example, if the customer was modified 

        and then deleted, the log will only show information about the deletion.


        Can be filtered by changeType = edit/delete parameter.


        Creation is considered as `edit` action. So, when there is a new item
        created, it will be displayed like 

        `edit` action.



        Endpoint supports
        [paging](#section/basic-principles-of-working-with-api/Paging).
      tags:
        - Customers
      parameters:
        - name: from
          in: query
          description: >-
            DateTime from which up to the present we are interested in the
            changes. + in the time zone
          required: true
          example: '2018-01-01T01:01:01+02:00'
          schema:
            type: string
        - name: changeType
          in: query
          description: Returning only edit or delete type changed records
          required: false
          example: edit
          schema:
            type: string
        - $ref: '#/components/parameters/DefaultContentType'
  /api/customers/regions:
    get:
      responses:
        '200':
          description: OK
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    additionalProperties: false
                    required:
                      - regions
                    properties:
                      regions:
                        type: array
                        items:
                          type: object
                          additionalProperties: false
                          required:
                            - id
                            - regionName
                            - regionShortcut
                            - countryCode
                          properties:
                            id:
                              type: integer
                              description: customer region ID
                              examples:
                                - 1
                            regionName:
                              type: string
                              description: customer region name
                              examples:
                                - Minas Gerais
                            regionShortcut:
                              type:
                                - string
                                - 'null'
                              description: customer region shortcut
                              examples:
                                - MG
                            countryCode:
                              type: string
                              examples:
                                - CZ
                              description: two letter country code
                  errors:
                    $ref: '#/components/schemas/Errors'
                required:
                  - data
                  - errors
                additionalProperties: false
      summary: List of customer regions
      operationId: getListOfCustomerRegions
      description: >-
        Returns the list of customer regions. The regions are ordered by id. The
        list is not paginated.
      tags:
        - Customers
      parameters:
        - $ref: '#/components/parameters/DefaultContentType'
  /api/customers/groups:
    get:
      responses:
        '200':
          description: OK
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    additionalProperties: false
                    required:
                      - customerGroups
                    properties:
                      customerGroups:
                        type: array
                        items:
                          type: object
                          additionalProperties: false
                          required:
                            - id
                            - name
                            - customerGroupCode
                            - description
                            - defaultPricelistId
                            - maxDiscount
                            - priority
                            - emailNotification
                            - authRequired
                            - registrationAllowed
                            - wholesale
                            - tableLayout
                            - fullProfileRequired
                          properties:
                            id:
                              type: integer
                              description: Customer group ID
                              examples:
                                - 1
                            name:
                              type: string
                              description: Customer group name
                              examples:
                                - Wholesale customers
                            customerGroupCode:
                              type:
                                - string
                                - 'null'
                              description: >-
                                index name of customer group used to identify
                                group while insert/edit customer
                              examples:
                                - wholesale
                            description:
                              type:
                                - string
                                - 'null'
                              description: description of customer group. Nullable
                              examples:
                                - Wholesale customers are the best customers
                            defaultPricelistId:
                              type:
                                - integer
                                - 'null'
                              description: ID of default pricelist for this group
                              examples:
                                - 1
                            maxDiscount:
                              type:
                                - string
                                - 'null'
                              $ref: '#/components/schemas/typePriceRatio'
                              description: >-
                                Ratio of maximal discount (0.55 -> 55% max
                                discount). Maximum 0.9999. Null when no maximal
                                discount is set.
                              examples:
                                - '0.55'
                            priority:
                              type:
                                - integer
                                - 'null'
                              description: Priority of customer group
                              examples:
                                - 100
                            emailNotification:
                              type: boolean
                              description: >-
                                whether e-mail will be sent on new customer
                                registration in this group.
                              examples:
                                - true
                            authRequired:
                              type: boolean
                              description: >-
                                whether authorization of new customer by eshop
                                administrator is be required"
                              examples:
                                - true
                            registrationAllowed:
                              type: boolean
                              description: whether customers can register to this group.
                              examples:
                                - true
                            wholesale:
                              type: boolean
                              description: >-
                                whether customers and their orders in this group
                                are marked as wholesale
                              examples:
                                - true
                            tableLayout:
                              type: boolean
                              description: >-
                                whether table layout will be shown instead to
                                classical layout. Might not be supported by all
                                templates.
                              examples:
                                - true
                            fullProfileRequired:
                              type: boolean
                              description: whether full profile is needed for customer.
                              examples:
                                - true
                  errors:
                    $ref: '#/components/schemas/Errors'
                required:
                  - data
                  - errors
                additionalProperties: false
      summary: List of customer groups
      operationId: getListOfCustomerGroups
      description: >-
        Returns list of customer groups ordered by priority. List is not
        paginated.
      tags:
        - Customers
      parameters:
        - $ref: '#/components/parameters/DefaultContentType'
  /api/template-include:
    get:
      responses:
        '200':
          description: OK
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    additionalProperties: false
                    required:
                      - snippets
                    properties:
                      snippets:
                        type: array
                        items:
                          type: object
                          required:
                            - location
                            - html
                          additionalProperties: false
                          properties:
                            location:
                              type: string
                              enum:
                                - common-header
                                - common-footer
                                - order-confirmed
                              description: >-
                                (location) code identifier. Possible values:
                                `common-header`, `common-footer`,
                                `order-confirmed`
                              examples:
                                - common-header
                            html:
                              type: string
                              description: HTML content included in the specified location
                              examples:
                                - <p>My custom HTML</p>
                  errors:
                    $ref: '#/components/schemas/Errors'
                required:
                  - data
                  - errors
                additionalProperties: false
      summary: Listing of codes
      operationId: getListingOfHtmlCodes
      description: |-
        This lists currently defined HTML codes for this addon, in all possible
        locations. Each addon sees only “its own” codes,
         it cannot see other codes of other addons, not even from the same developer. Also, it does not see the code inserted within the administration.
      tags:
        - Templates
      parameters:
        - $ref: '#/components/parameters/DefaultContentType'
    post:
      responses:
        '200':
          description: OK
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    additionalProperties: false
                    required:
                      - snippets
                    properties:
                      snippets:
                        type: array
                        items:
                          type: object
                          required:
                            - location
                            - html
                          additionalProperties: false
                          properties:
                            location:
                              type: string
                              enum:
                                - common-header
                                - common-footer
                                - order-confirmed
                              description: >-
                                (location) code identifier. Possible values:
                                `common-header`, `common-footer`,
                                `order-confirmed`
                              examples:
                                - common-header
                            html:
                              type: string
                              description: HTML content included in the specified location
                              examples:
                                - <p>My custom HTML</p>
                  errors:
                    $ref: '#/components/schemas/Errors'
                required:
                  - data
                  - errors
                additionalProperties: false
        '400':
          description: Bad Request
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    type: 'null'
                  errors:
                    $ref: '#/components/schemas/Errors'
              example:
                data: null
                errors:
                  - errorCode: template-include-location-invalid
                    message: |-
                      Invalid location code: does-not-exist. Possible values:
                      common-header, common-footer, order-confirmed
                    instance: location
      summary: Inserting and editing codes
      operationId: createAndEditHtmlCodes
      description: |-
        This adds new or changes the current (if exists) HTML code. It is
        possible to enter 1-3 changes at a time (typically

        3 possible locations). If the value already exists, it is simply
        overwritten. The limit for HTML code is 8192 characters. In case that
        any

        of the requirements fail, the detailed information is returned in
        the`errors` field.
      tags:
        - Templates
      requestBody:
        content:
          application/vnd.shoptet.v1.0+json:
            schema:
              type: object
              additionalProperties: false
              required:
                - data
              properties:
                data:
                  type: object
                  required:
                    - snippets
                  additionalProperties: false
                  properties:
                    snippets:
                      type: array
                      items:
                        type: object
                        required:
                          - location
                          - html
                        additionalProperties: false
                        properties:
                          location:
                            type: string
                            description: >-
                              (location) code identifier. Possible values:
                              `common-header`, `common-footer`,
                              `order-confirmed`
                            examples:
                              - common-header
                          html:
                            type: string
                            maxLength: 8192
                            description: >-
                              HTML content to be included in the specified
                              location
                            examples:
                              - <p>My custom HTML</p>
      parameters:
        - $ref: '#/components/parameters/DefaultContentType'
  /api/template-include/{location}:
    delete:
      responses:
        '200':
          description: OK
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    type: 'null'
                    additionalProperties: false
                  errors:
                    $ref: '#/components/schemas/Errors'
                required:
                  - data
                  - errors
                additionalProperties: false
      summary: Removal of code
      operationId: deleteHtmlCode
      description: |-
        This call can be used to delete the existing code from the given
        location. if the code for the given `location` (position) does not
        exist, the

        API returns `404 NOT FOUND`
      tags:
        - Templates
      parameters:
        - name: location
          in: path
          description: |-
            supported values: `common-header`, `common-footer`,
            `order-confirmed`
          required: true
          example: common-header
          schema:
            type: string
        - $ref: '#/components/parameters/DefaultContentType'
  /api/payment-status/{paymentCode}:
    get:
      responses:
        '200':
          description: OK
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    additionalProperties: false
                    required:
                      - orderCode
                      - returnUrl
                    properties:
                      orderCode:
                        type: string
                        description: >-
                          order number. Caution! This does not have to be number
                          only, it can contain also letters, dash, etc.
                        examples:
                          - '2018000016'
                      returnUrl:
                        type: string
                        description: >-
                          URL, where the payment gateway should be redirected
                          to, after the payment is completed
                        examples:
                          - >-
                            https://www.domena-eshopu.cz/api/pay/apigate/return?paymentCode=4v3uspoq4vfw1kz3s3swcgkumjdr6u9p
                  errors:
                    $ref: '#/components/schemas/Errors'
                required:
                  - data
                  - errors
                additionalProperties: false
      summary: Gaining the information about payment
      operationId: getInformationAboutPayment
      description: |-
        Returns the URL, at which the payment gateway shall redirect the users
        after completion of operation and order number.
      tags:
        - Payment gateways
      parameters:
        - name: paymentCode
          in: path
          description: >
            the payment code identifies the payment of a single order,

            it is generated when the order is completed and received by the
            payment gateway upon redirection from the e-shop to the payment
            gateway.
          required: true
          example: os8FtURz7PpO46Z87euEAoBAn9RClB2d
          schema:
            type: string
        - $ref: '#/components/parameters/DefaultContentType'
    patch:
      responses:
        '200':
          description: OK
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    additionalProperties: false
                    required:
                      - orderCode
                      - returnUrl
                    properties:
                      orderCode:
                        type: string
                        description: >-
                          order number. Caution! This does not have to be number
                          only, it can contain also letters, dash, etc.
                        examples:
                          - '2018000016'
                      returnUrl:
                        type: string
                        description: >-
                          URL, where the payment gateway should be redirected
                          to, after the payment is completed
                        examples:
                          - >-
                            https://www.domena-eshopu.cz/api/pay/apigate/return?paymentCode=4v3uspoq4vfw1kz3s3swcgkumjdr6u9p
                  errors:
                    $ref: '#/components/schemas/Errors'
                required:
                  - data
                  - errors
                additionalProperties: false
        '404':
          description: Not Found
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    type: 'null'
                  errors:
                    $ref: '#/components/schemas/Errors'
              example:
                data: null
                errors:
                  - errorCode: payment-not-found
                    message: The payment code "nonExists" not found.
                    instance: paymentCode
        '422':
          description: Unprocessable Entity
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    type: 'null'
                  errors:
                    $ref: '#/components/schemas/Errors'
              example:
                data: null
                errors:
                  - errorCode: invalid-request-data
                    message: |-
                      Does not have a value in the enumeration
                      ["FAILED","OK","PENDING"]
                    instance: data.status
      summary: Payment status update
      operationId: updatePaymentStatus
      description: |-
        Payment status update via the payment gateway. The `paymentCode` is the
        identifier. Payment status can be updated when the payment has been
        successfully recorded.

        **Please note that `message` can not be longer than 255 characters.**
      tags:
        - Payment gateways
      parameters:
        - name: paymentCode
          in: path
          description: >
            payment code identifies the payment of a single order,

            it is generated when the order is completed and received by the
            payment gateway upon redirection from e-shop to the payment gateway.
          required: true
          example: os8FtURz7PpO46Z87euEAoBAn9RClB2d
          schema:
            type: string
        - $ref: '#/components/parameters/DefaultContentType'
      requestBody:
        content:
          application/vnd.shoptet.v1.0+json:
            schema:
              type: object
              required:
                - data
              additionalProperties: false
              properties:
                data:
                  required:
                    - status
                  type: object
                  additionalProperties: false
                  properties:
                    status:
                      type: string
                      enum:
                        - FAILED
                        - OK
                        - PENDING
                      description: transaction status
                      examples:
                        - OK
                    message:
                      type:
                        - string
                        - 'null'
                      maxLength: 255
                      description: Explanation of the status
                      examples:
                        - Not enough finances on the card
  /api/webhooks:
    get:
      responses:
        '200':
          description: OK
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    additionalProperties: false
                    required:
                      - webhooks
                      - paginator
                    properties:
                      webhooks:
                        type: array
                        items:
                          $ref: '#/components/schemas/webhook'
                      paginator:
                        $ref: '#/components/schemas/paginator'
                  errors:
                    $ref: '#/components/schemas/Errors'
                required:
                  - data
                  - errors
                additionalProperties: false
      summary: Overview of registered webhooks
      operationId: getOverviewOfRegisteredWebhooks
      description: |-
        Returns the list of webhooks, registered by the specific addon for a
        single e-shop. It is therefore bound to the specific installation.

        The addon does not have any access to another addon (not even for the
        same e-shop, or two addons from the same developer).
      tags:
        - Webhooks
      parameters:
        - $ref: '#/components/parameters/DefaultContentType'
    post:
      responses:
        '201':
          description: Created
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    additionalProperties: false
                    required:
                      - webhooks
                    properties:
                      webhooks:
                        type: array
                        items:
                          $ref: '#/components/schemas/webhook'
                  errors:
                    $ref: '#/components/schemas/Errors'
                required:
                  - data
                  - errors
                additionalProperties: false
      summary: Registration of new webhook
      operationId: registerNewWebhook
      description: |-
        Registers the webhook. For a single event (`event`, for example
        `order:create`) **ONLY ONE** URL can be registered.

        If you try to enter the webhook for an `event` that already exists, you
        will
         receive error `422` with message `Webhook already exists for this event`. Successful creation (registration) of webhook is signaled by code `201`. The endpoint returns the info
        on the created webhook. One of the items is `id`, which is assigned to
        the webhook and is used for its identification

        upon change or deletion.


        The supported event can be found in code list <a
        href="#webhook-event-type">Webhook event types</a>.


        It is possible to enter up to 50 webhooks using a single call.

        **Please note that `url` cannot be longer than 2000 characters.**
      tags:
        - Webhooks
      requestBody:
        content:
          application/vnd.shoptet.v1.0+json:
            schema:
              type: object
              additionalProperties: false
              required:
                - data
              properties:
                data:
                  type: array
                  items:
                    type: object
                    additionalProperties: false
                    required:
                      - event
                      - url
                    properties:
                      event:
                        type: string
                        description: >-
                          event, see [webhook event
                          types](#section/code-lists/Webhook-event-types)
                        examples:
                          - order.created
                          - order.updated
                          - order.deleted
                      url:
                        type: string
                        maxLength: 2000
                        description: Webhook URL
                        examples:
                          - https://myapplication.tld/orders.php
      parameters:
        - $ref: '#/components/parameters/DefaultContentType'
  /api/webhooks/{id}:
    get:
      responses:
        '200':
          description: OK
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    additionalProperties: false
                    required:
                      - webhook
                    properties:
                      webhook:
                        $ref: '#/components/schemas/webhook'
                  errors:
                    $ref: '#/components/schemas/Errors'
                required:
                  - data
                  - errors
                additionalProperties: false
        '404':
          description: Not Found
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    type: 'null'
                  errors:
                    $ref: '#/components/schemas/Errors'
              example:
                data: null
                errors:
                  - errorCode: webhook-not-found
                    message: Webhook with id "999" not found.
                    instance: '999'
      summary: Detail of registered webhooks
      operationId: getDetailOfRegisteredWebhooks
      description: Shows the information about a single specific registered webhook.
      tags:
        - Webhooks
      parameters:
        - name: id
          in: path
          description: ''
          required: true
          example: '3'
          schema:
            type: number
        - $ref: '#/components/parameters/DefaultContentType'
    patch:
      responses:
        '200':
          description: OK
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    type: 'null'
                  errors:
                    $ref: '#/components/schemas/Errors'
                required:
                  - data
                  - errors
                additionalProperties: false
        '404':
          description: Not Found
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    type: 'null'
                  errors:
                    $ref: '#/components/schemas/Errors'
              example:
                data: null
                errors:
                  - errorCode: webhook-not-found
                    message: Webhook with id "999" not found.
                    instance: '999'
      summary: Update of existing webhook
      operationId: updateExistingWebhook
      description: |-
        Modification of the existing webhook. The `id` of the webhook serves as
        the identifier. Using just one call, only one webhook can be modified.


        **Please note that `url` cannot be longer than 2000 characters.**
      tags:
        - Webhooks
      parameters:
        - name: id
          in: path
          description: ''
          required: true
          example: '3'
          schema:
            type: number
        - $ref: '#/components/parameters/DefaultContentType'
      requestBody:
        content:
          application/vnd.shoptet.v1.0+json:
            schema:
              type: object
              additionalProperties: false
              required:
                - data
              properties:
                data:
                  type: object
                  additionalProperties: false
                  required:
                    - url
                  properties:
                    url:
                      type: string
                      examples:
                        - https://myapplication.tld/orders-new.php
                      maxLength: 2000
    delete:
      responses:
        '200':
          description: OK
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    type: 'null'
                    additionalProperties: false
                  errors:
                    $ref: '#/components/schemas/Errors'
                required:
                  - data
                  - errors
                additionalProperties: false
        '404':
          description: Not Found
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    type: 'null'
                  errors:
                    $ref: '#/components/schemas/Errors'
              example:
                data: null
                errors:
                  - errorCode: webhook-not-found
                    message: Webhook with id "999" not found.
                    instance: '999'
      summary: Deletion of registered webhook
      operationId: deleteRegisteredWebhook
      description: Deletes the registered webhook, identified by means of `id`.
      tags:
        - Webhooks
      parameters:
        - name: id
          in: path
          description: ''
          required: true
          example: '3'
          schema:
            type: number
        - $ref: '#/components/parameters/DefaultContentType'
  /api/webhooks/renew-signature-key:
    post:
      responses:
        '200':
          description: OK
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    additionalProperties: false
                    required:
                      - signatureKey
                    properties:
                      signatureKey:
                        type: string
                        examples:
                          - 8a5e881b19ad6cc0bc986587b22e30be
                  errors:
                    $ref: '#/components/schemas/Errors'
                required:
                  - data
                  - errors
                additionalProperties: false
      summary: Generating of signature key
      operationId: generateWebhookSignatureKey
      description: |-
        The endpoint call does not require any body. The endpoint always
        generates a new signature key

        for calculating the digest mentioned in the HTTP header of the
        notification – `Shoptet-Webhook-Signature`. The same key

        is to be used during check after the receipt of notification. For more
        information see https://developers.shoptet.com/webhooks/#signature
      tags:
        - Webhooks
      parameters:
        - $ref: '#/components/parameters/DefaultContentType'
  /api/webhooks/notifications:
    get:
      responses:
        '200':
          description: OK
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    additionalProperties: false
                    required:
                      - notifications
                      - paginator
                    properties:
                      notifications:
                        type: array
                        items:
                          $ref: '#/components/schemas/webhookNotification'
                      paginator:
                        $ref: '#/components/schemas/paginator'
                  errors:
                    $ref: '#/components/schemas/Errors'
                required:
                  - data
                  - errors
                additionalProperties: false
      summary: Webhook notification
      operationId: getWebhookNotification
      description: >-
        Returns the notification (invoking) list of webhooks and provides
        information about these. If you do not have 

        a registered webhook, and the given event happens (for example creation
        of an order), the registered URLs are 

        called. A notification about a call contains information about the
        webhook that requested the call, the URL 

        called, the time, delivery status, number of delivery attempts and other
        information.



        It is possible to request 7 days history of notification.
      tags:
        - Webhooks
      parameters:
        - name: status
          in: query
          description: 'supported values: `new`, `failed`, `success`'
          example: failed
          schema:
            type: string
        - name: event
          in: query
          description: event
          example: order:delete
          schema:
            type: string
        - name: active
          in: query
          description: |-
            flag that the notification was not delivered yet, and the number of
            attempts did not reach the maximum amount. The notification will be
            resent to the target URL
          example: 'true'
          schema:
            type: boolean
        - name: from
          in: query
          description: |-
            DateTime for the log, up to the present, which we are interested in.
            `+` in the time zone designation, html shall be coded as `%2B`.
          example: '2018-05-28T14:17:00+02:00'
          schema:
            type: string
        - $ref: '#/components/parameters/DefaultContentType'
  /api/shipping-methods:
    get:
      responses:
        '200':
          description: OK
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    additionalProperties: false
                    required:
                      - shippingMethods
                      - wholesaleActive
                      - defaultRetailMethod
                      - defaultWholesaleMethod
                    properties:
                      shippingMethods:
                        type: array
                        items:
                          type: object
                          additionalProperties: false
                          required:
                            - guid
                            - name
                            - description
                            - shippingCompany
                            - trackingUrl
                            - visible
                            - priority
                            - wholesale
                            - logoUrl
                          properties:
                            guid:
                              $ref: '#/components/schemas/typeGuid'
                              description: Unique identifier of the shipping method
                            name:
                              type: string
                              description: >-
                                name of shipping method, as can be seen in
                                e-shop.
                              examples:
                                - Shipping company
                            description:
                              type:
                                - string
                                - 'null'
                              description: >-
                                additional information about the shipping
                                method. (can be null)
                              examples:
                                - Delivery within 48 hours
                            shippingCompany:
                              type:
                                - object
                                - 'null'
                              required:
                                - id
                                - code
                                - name
                              description: Shipping company
                              additionalProperties: false
                              properties:
                                id:
                                  type: integer
                                  description: shipping method ID.
                                  examples:
                                    - 21
                                code:
                                  type: string
                                  description: shipping company identifier.
                                  examples:
                                    - intime
                                name:
                                  type: string
                                  description: shipping company name.
                                  examples:
                                    - IN TIME
                            trackingUrl:
                              type:
                                - string
                                - 'null'
                              description: package trace link pattern
                              examples:
                                - >-
                                  http://www.ppl.cz/main2.aspx?cls=Package&idSearch=#PACKAGE_NUMBER#
                            visible:
                              type: boolean
                              description: Is the shipping method visible?
                              examples:
                                - true
                            priority:
                              type: integer
                              description: sequence within the list
                              examples:
                                - 16
                            wholesale:
                              type: boolean
                              description: >-
                                Is the shipping method available for wholesale
                                customers?
                              examples:
                                - true
                            logoUrl:
                              type:
                                - string
                                - 'null'
                              description: URL of the shipping company logo
                              examples:
                                - https://www.example.com/logo.png
                      wholesaleActive:
                        type: boolean
                        description: >-
                          flag, whether the wholesale shipping methods are
                          permitted
                        examples:
                          - true
                      defaultRetailMethod:
                        type:
                          - string
                          - 'null'
                        description: Default shipping method for retail sale
                        examples:
                          - b57f91bb-e920-11e0-baa3-7dc668b75ca8
                      defaultWholesaleMethod:
                        type:
                          - string
                          - 'null'
                        description: Default shipping method for wholesale
                        examples:
                          - b57f91bb-e920-11e0-baa3-7dc668b75ca8
                  errors:
                    $ref: '#/components/schemas/Errors'
                required:
                  - data
                  - errors
                additionalProperties: false
      summary: List of shipping methods
      operationId: getListOfShippingMethods
      description: |-
        Endpoint returns a list of all available shipping methods and details of
        their settings. Does not use paging,

        it always returns all methods at once.
      tags:
        - Shipping methods
      parameters:
        - $ref: '#/components/parameters/DefaultContentType'
    post:
      responses:
        '200':
          description: OK
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    required:
                      - guid
                      - name
                      - description
                      - visibility
                      - wholesale
                      - logoUrl
                      - shippingCompany
                    additionalProperties: false
                    properties:
                      guid:
                        $ref: '#/components/schemas/typeGuid'
                        description: Unique identifier of the shipping method
                      name:
                        type: string
                        description: name of shipping method, as can be seen in e-shop.
                        examples:
                          - Shipping company
                      description:
                        type:
                          - string
                          - 'null'
                        description: >-
                          additional information about the shipping method. (can
                          be null)
                        examples:
                          - Delivery within 48 hours
                      visibility:
                        type: boolean
                        description: Is the shipping method visible?
                        examples:
                          - true
                      wholesale:
                        type: boolean
                        description: >-
                          Is the shipping method available for wholesale
                          customers?
                        examples:
                          - true
                      logoUrl:
                        type:
                          - string
                          - 'null'
                        description: URL of the shipping company logo
                        examples:
                          - https://www.example.com/logo.png
                      shippingCompany:
                        type: object
                        required:
                          - id
                          - code
                          - name
                        additionalProperties: false
                        properties:
                          id:
                            type: integer
                            description: shipping method ID.
                            examples:
                              - 21
                          code:
                            type: string
                            description: shipping company identifier.
                            examples:
                              - intime
                          name:
                            type: string
                            description: shipping company name.
                            examples:
                              - IN TIME
                  errors:
                    $ref: '#/components/schemas/Errors'
                required:
                  - data
                  - errors
                additionalProperties: false
      summary: Adding a shipping method
      operationId: createShippingMethod
      description: |-
        Adds a new shipping method for the specific e-shop.

        Should you wish to implement an addon implementing a shipping method,
        contact our partner support and request the creation

        of a new "shipping company code" identifier.


        The request body includes the mandatory attributes `name` and
        `shippingMethodCode` (or deprecated `shippingCompanyCode`). The other
        parameters are not

        mandatory and their default values will be used:


        - `description` - `null`


        - `visibility` - `false`


        - `wholesale` - `false`


        - `logo` - `null`


        - `minimalShippingPrice` - `0.00`


        Send the logo of the shipping method as the file content, encoded with
        base64, in `data.logo.content` request item.


        **Please note that `name` cannot be longer than 255 characters.**
      tags:
        - Shipping methods
      requestBody:
        content:
          application/vnd.shoptet.v1.0+json:
            schema:
              type: object
              required:
                - data
              properties:
                data:
                  type: object
                  required:
                    - name
                  additionalProperties: false
                  oneOf:
                    - required:
                        - shippingCompanyCode
                    - required:
                        - shippingMethodCode
                  properties:
                    name:
                      type: string
                      minLength: 1
                      maxLength: 255
                      description: Name of the shipping method
                      examples:
                        - Shipping name
                    description:
                      type:
                        - string
                        - 'null'
                      description: additional information about the shipping method.
                      examples:
                        - Shipping description
                    shippingCompanyCode:
                      type: string
                      minLength: 1
                      description: >-
                        Type of shipping company (operator) - identifier
                        assigned by Shoptet
                      examples:
                        - intime
                      deprecated: true
                    shippingMethodCode:
                      type: string
                      minLength: 1
                      description: >-
                        type of shipping method (operator) - identifier assigned
                        by Shoptet
                      examples:
                        - intime-colli-small
                    visibility:
                      type: boolean
                      description: whether the shipping method will be visible
                      examples:
                        - true
                    wholesale:
                      type: boolean
                      description: >-
                        flag, whether the shipping method is available for
                        wholesale customers (`false` = for retail)
                      examples:
                        - true
                    logo:
                      type: object
                      required:
                        - filename
                        - content
                      additionalProperties: false
                      properties:
                        filename:
                          type: string
                          pattern: ^[A-Za-z0-9-_.]*\.[a-z]{3,4}$
                          description: Name of the file
                          examples:
                            - logo_shipping.png
                        content:
                          type: string
                          description: Base64 encoded image
                          examples:
                            - >-
                              iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAABaElEQVR42mNk===
                    minimalShippingPrice:
                      $ref: '#/components/schemas/typePrice'
                      description: >-
                        number indicating minimum price of shipping in the
                        default currency
      parameters:
        - $ref: '#/components/parameters/DefaultContentType'
  /api/shipping-request/{shippingRequestCode}/{shippingGuid}:
    get:
      responses:
        '200':
          description: OK
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    additionalProperties: false
                    required:
                      - eshop
                      - items
                    properties:
                      eshop:
                        type: object
                        additionalProperties: false
                        required:
                          - eshopId
                          - eshopUrl
                          - vatPayer
                        properties:
                          eshopId:
                            type: integer
                            description: Eshop ID.
                            examples:
                              - 222651
                          eshopUrl:
                            type: string
                            description: Eshop URL.
                            examples:
                              - https://www.example.com
                          vatPayer:
                            type: boolean
                            description: identify if e-shop is VAT payer or not.
                            examples:
                              - true
                      cart:
                        type: object
                        additionalProperties: false
                        required:
                          - price
                          - currency
                        description: Cart information
                        properties:
                          price:
                            $ref: '#/components/schemas/cartPrice'
                            description: Information about total price in cart
                          currency:
                            $ref: '#/components/schemas/typeCurrencyCode'
                            description: Currency code of cart
                          freeShipping:
                            type: boolean
                            description: ' Whether cart currently has freeShipping (because of coupon or amount)'
                            examples:
                              - false
                      items:
                        type: array
                        description: List of items in cart (without price)
                        items:
                          type: object
                          required:
                            - productGuid
                            - code
                            - itemType
                            - name
                            - variantName
                            - brand
                            - weight
                            - amount
                            - amountUnit
                          additionalProperties: false
                          properties:
                            productGuid:
                              $ref: '#/components/schemas/typeGuidUnlimited'
                              description: unique product indicator
                            code:
                              type: string
                              description: Product code
                              examples:
                                - '40'
                            itemType:
                              type: string
                              description: >-
                                see also [Product type code
                                list](#section/code-lists/Product-types)
                              examples:
                                - product
                            name:
                              type: string
                              description: Product name
                              examples:
                                - Komplet
                            variantName:
                              type: string
                              description: Product variant name
                              examples:
                                - Komplet - bílý
                            brand:
                              type:
                                - object
                                - 'null'
                              $ref: '#/components/schemas/brandNamed'
                              description: Product brand
                            weight:
                              $ref: '#/components/schemas/typeWeight'
                            amount:
                              $ref: '#/components/schemas/typePositiveAmount'
                              description: amount of ordered product.
                              examples:
                                - 1
                            amountUnit:
                              type:
                                - string
                                - 'null'
                              description: unit of order product
                              examples:
                                - pcs
                  errors:
                    $ref: '#/components/schemas/Errors'
                required:
                  - data
                  - errors
                additionalProperties: false
        '404':
          description: Not Found
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    type: 'null'
                  errors:
                    $ref: '#/components/schemas/Errors'
              example:
                data: null
                errors:
                  - errorCode: shipping-request-not-found
                    message: |-
                      Unknown shippingGuid
                      "97a4b2da-6f2e-11e4-877e-ac162d8a2455" or
                      shippingRequestCode "5ee3b74071f72c460757155cb0ae0aaa".
                    instance: shippingGuid, shippingRequestCode
        '408':
          description: Request Timeout
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    type: 'null'
                  errors:
                    $ref: '#/components/schemas/Errors'
              example:
                data: null
                errors:
                  - errorCode: cart-data-missing
                    message: |-
                      Cart data of "10c50b2f9dde1e9b1050623586547d9f" from CMS
                      is missing
                    instance: shippingRequest
      summary: Shipping request for getting cart details
      operationId: getShippingRequestForCartDetails
      description: Endpoint returns details of cart for shipping request
      tags:
        - Shipping requests
      parameters:
        - name: shippingRequestCode
          in: path
          description: Shipping request code of cart
          required: true
          example: 0389fc7dd97584790e5ad49010db9c4a
          schema:
            type: string
        - name: shippingGuid
          in: path
          description: Shipping method based on delivery
          required: true
          example: ecb3e399-2f57-11eb-8853-0800275177b9
          schema:
            type: string
        - $ref: '#/components/parameters/DefaultContentType'
    put:
      responses:
        '200':
          description: OK
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    additionalProperties: false
                    required:
                      - verificationCode
                    properties:
                      verificationCode:
                        type: string
                        description: VerificationCode of shipping to be used in JS
                        examples:
                          - abcdefghij
                  errors:
                    $ref: '#/components/schemas/Errors'
                required:
                  - data
                  - errors
                additionalProperties: false
        '404':
          description: Not Found
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    type: 'null'
                  errors:
                    $ref: '#/components/schemas/Errors'
              example:
                data: null
                errors:
                  - errorCode: shipping-request-not-found
                    message: |-
                      Unknown shippingGuid
                      "97a4b2da-6f2e-11e4-877e-ac162d8a2455" or
                      shippingRequestCode "5ee3b74071f72c460757155cb0ae0aaa".
                    instance: shippingGuid, shippingRequestCode
        '408':
          description: Request Timeout
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    type: 'null'
                  errors:
                    $ref: '#/components/schemas/Errors'
              example:
                data: null
                errors:
                  - errorCode: cart-data-missing
                    message: |-
                      Cart data of "10c50b2f9dde1e9b1050623586547d9f" from CMS
                      is missing
                    instance: shippingRequest
      summary: Update shipping price & data
      operationId: updateShippingData
      description: Endpoint to set shipping price & data
      tags:
        - Shipping requests
      parameters:
        - name: shippingRequestCode
          in: path
          description: Shipping request code of cart
          required: true
          example: 0389fc7dd97584790e5ad49010db9c4a
          schema:
            type: string
        - name: shippingGuid
          in: path
          description: Shipping method based on delivery
          required: true
          example: ecb3e399-2f57-11eb-8853-0800275177b9
          schema:
            type: string
        - $ref: '#/components/parameters/DefaultContentType'
      requestBody:
        content:
          application/vnd.shoptet.v1.0+json:
            schema:
              type: object
              required:
                - data
              additionalProperties: false
              properties:
                data:
                  type: object
                  additionalProperties: false
                  required:
                    - expires
                    - trackingNumber
                  properties:
                    description:
                      type: string
                      minLength: 1
                      description: description of the shipping request.
                      examples:
                        - Express delivery
                    additionalText:
                      type:
                        - string
                        - 'null'
                      minLength: 1
                      description: >-
                        additional information about the shipping request. (can
                        be null)
                      examples:
                        - Delivery within 48 hours`
                    price:
                      type:
                        - object
                        - 'null'
                      anyOf:
                        - required:
                            - priceWithVat
                            - vatRate
                        - required:
                            - priceWithoutVat
                            - vatRate
                      additionalProperties: false
                      properties:
                        priceWithVat:
                          type: string
                          $ref: '#/components/schemas/typePrice'
                          description: >-
                            Price of delivery with VAT (this or
                            `priceWithoutVat` must be filled).
                          examples:
                            - '121.00'
                        priceWithoutVat:
                          type: string
                          $ref: '#/components/schemas/typePrice'
                          description: >-
                            Price of delivery without VAT (this or
                            `priceWithVat` must be filled).
                          examples:
                            - '100.00'
                        vatRate:
                          $ref: '#/components/schemas/typeVatRate'
                          description: VAT rate of delivery.
                          examples:
                            - '21.00'
                    currency:
                      type:
                        - string
                        - 'null'
                      $ref: '#/components/schemas/typeCurrencyCode'
                    expires:
                      type:
                        - string
                        - 'null'
                      $ref: '#/components/schemas/typeDateTimeRequest'
                      description: >-
                        Time indicates availability of chosen delivery.
                        Deprecation of required timezone part of datetime, and
                        will be removed in the future
                    deliveryAddress:
                      type: object
                      additionalProperties: false
                      properties:
                        fullName:
                          type:
                            - string
                            - 'null'
                          minLength: 1
                          maxLength: 255
                          description: name of purchaser (or `null`)
                          examples:
                            - John Doe
                        company:
                          type:
                            - string
                            - 'null'
                          minLength: 1
                          maxLength: 255
                          description: name of purchaser''s company (or `null`)
                          examples:
                            - Shoptet s.r.o.
                        street:
                          type:
                            - string
                            - 'null'
                          minLength: 1
                          maxLength: 255
                          description: street of purchaser (or `null`)
                          examples:
                            - French
                        houseNumber:
                          type:
                            - string
                            - 'null'
                          minLength: 1
                          maxLength: 255
                          description: street number (or `null`)
                          examples:
                            - '123'
                        city:
                          type:
                            - string
                            - 'null'
                          minLength: 1
                          maxLength: 255
                          description: city/town (village) (or `null`)
                          examples:
                            - Praha 2
                        district:
                          type:
                            - string
                            - 'null'
                          minLength: 1
                          maxLength: 255
                          description: county (or `null`)
                          examples:
                            - Praha 2
                        additional:
                          type:
                            - string
                            - 'null'
                          minLength: 1
                          maxLength: 255
                          description: additional address information (or `null`)
                          examples:
                            - 4. floor
                        zip:
                          type:
                            - string
                            - 'null'
                          minLength: 1
                          maxLength: 255
                          description: ZIP or postal code (or `null`)
                          examples:
                            - 120 00
                        countryCode:
                          type:
                            - string
                            - 'null'
                          description: tree-character ISO country code (ISO 4217)
                          examples:
                            - CZ
                        regionName:
                          type:
                            - string
                            - 'null'
                          minLength: 1
                          maxLength: 255
                          description: region name (or `null`)
                          examples:
                            - Capital city
                        regionShortcut:
                          type:
                            - string
                            - 'null'
                          minLength: 1
                          maxLength: 255
                          description: region abbreviation (or `null`)
                          examples:
                            - CC
                    trackingNumber:
                      type: string
                      maxLength: 255
                      description: Tracking number for see status of delivery.
                      examples:
                        - U134666
                    branchId:
                      type:
                        - string
                        - 'null'
                      maxLength: 255
                      description: Identification of selected pickup point.
                      examples:
                        - '314012'
                    branchName:
                      type:
                        - string
                        - 'null'
                      maxLength: 255
                      description: Name of selected pickup point.
                      examples:
                        - Čáslav, Jeníkovská 362/66 [Irma Rajmová - Trafika]
  /api/shipping-request/{shippingRequestCode}/{shippingGuid}/status:
    get:
      responses:
        '200':
          description: OK
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    required:
                      - status
                      - orderCode
                    additionalProperties: false
                    properties:
                      status:
                        type: string
                        description: Status of the order
                        examples:
                          - open
                      orderCode:
                        type:
                          - string
                          - 'null'
                        description: Order code
                        examples:
                          - '20200010'
                  errors:
                    $ref: '#/components/schemas/Errors'
                required:
                  - data
                  - errors
                additionalProperties: false
              example:
                data:
                  status: open
                  orderCode: '20200010'
                errors: null
        '404':
          description: Not Found
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    type: 'null'
                  errors:
                    $ref: '#/components/schemas/Errors'
              example:
                data: null
                errors:
                  - errorCode: shipping-request-not-found
                    message: |-
                      Unknown shippingGuid
                      "97a4b2da-6f2e-11e4-877e-ac162d8a2455" or
                      shippingRequestCode "5ee3b74071f72c460757155cb0ae0aaa".
                    instance: shippingGuid, shippingRequestCode
      summary: Shipping request for getting status of order
      operationId: getShippingRequestForGettingOrderStatus
      description: |-
        Endpoint returns status of order related to `shippingRequestCode` &
        `shippingGuid`
      tags:
        - Shipping requests
      parameters:
        - name: shippingRequestCode
          in: path
          description: Shipping request code of cart
          required: true
          example: 0389fc7dd97584790e5ad49010db9c4a
          schema:
            type: string
        - name: shippingGuid
          in: path
          description: Shipping method based on delivery
          required: true
          example: ecb3e399-2f57-11eb-8853-0800275177b9
          schema:
            type: string
        - $ref: '#/components/parameters/DefaultContentType'
  /api/payment-methods:
    get:
      responses:
        '200':
          description: OK
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    additionalProperties: false
                    required:
                      - paymentMethods
                      - wholesaleActive
                      - defaultRetailMethod
                      - defaultWholesaleMethod
                    properties:
                      paymentMethods:
                        type: array
                        items:
                          type: object
                          additionalProperties: false
                          required:
                            - guid
                            - name
                            - description
                            - submethod
                            - paymentType
                            - visible
                            - wholesale
                            - logoUrl
                          properties:
                            guid:
                              $ref: '#/components/schemas/typeGuid'
                              description: payment method GUID
                            name:
                              type: string
                              description: >-
                                name of payment gateway, as can be seen in
                                e-shop
                              examples:
                                - Cash on delivery
                            description:
                              type:
                                - string
                                - 'null'
                              description: additional information about the gateway
                              examples:
                                - This is the test description
                            submethod:
                              type:
                                - string
                                - 'null'
                              description: additional identification of payment method
                              examples:
                                - apple-pay
                            paymentType:
                              type: object
                              required:
                                - id
                                - code
                                - name
                              description: payment method
                              additionalProperties: false
                              properties:
                                id:
                                  type: integer
                                  description: payment method ID
                                  examples:
                                    - 2
                                code:
                                  type: string
                                  description: >-
                                    identifier of the payment type (payment
                                    method operator).
                                  examples:
                                    - paysec
                                name:
                                  type: string
                                  description: >-
                                    name of the payment type (payment method
                                    operator).
                                  examples:
                                    - PaySec
                            visible:
                              type: boolean
                              description: Is the payment method visible?
                              examples:
                                - true
                            priority:
                              type: integer
                              description: sequence within the list
                              examples:
                                - 1
                            wholesale:
                              type: boolean
                              description: Is the payment method available for wholesale?
                              examples:
                                - true
                            logoUrl:
                              type:
                                - string
                                - 'null'
                              description: URL of payment method logo
                              examples:
                                - https://www.example.com/logo.png
                      wholesaleActive:
                        type: boolean
                        description: >-
                          flag, whether the wholesale payment methods are
                          permitted
                        examples:
                          - true
                      defaultRetailMethod:
                        type:
                          - string
                          - 'null'
                        description: default payment method for the retail sale
                        examples:
                          - 6df78fa2-05b0-11e9-925b-0800273dc42e
                      defaultWholesaleMethod:
                        type:
                          - string
                          - 'null'
                        description: default payment method for wholesale
                        examples:
                          - b57f91bb-e920-11e0-baa3-7dc668b75ca8
                  errors:
                    $ref: '#/components/schemas/Errors'
                required:
                  - data
                  - errors
                additionalProperties: false
      summary: Listing of payment methods
      operationId: getListingOfPaymentMethods
      description: |-
        The endpoint returns the listing of all available payment methods and
        details about their settings. Paging is not used, it always returns all
        methods at once.
      tags:
        - Payment methods
      parameters:
        - $ref: '#/components/parameters/DefaultContentType'
    post:
      responses:
        '200':
          description: OK
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    required:
                      - guid
                      - name
                      - submethod
                      - description
                      - visibility
                      - wholesale
                      - logoUrl
                      - paymentType
                    additionalProperties: false
                    properties:
                      guid:
                        $ref: '#/components/schemas/typeGuid'
                        description: payment method GUID
                      name:
                        type: string
                        description: name of payment gateway, as can be seen in e-shop
                        examples:
                          - Cash on delivery
                      description:
                        type:
                          - string
                          - 'null'
                        description: additional information about the gateway
                        examples:
                          - This is the test description
                      submethod:
                        type:
                          - string
                          - 'null'
                        description: additional identification of payment method
                        examples:
                          - apple-pay
                      visibility:
                        type: boolean
                        description: Is the payment method visible?
                        examples:
                          - true
                      wholesale:
                        type: boolean
                        description: Is the payment method available for wholesale?
                        examples:
                          - true
                      logoUrl:
                        type:
                          - string
                          - 'null'
                        description: URL of payment method logo
                        examples:
                          - https://www.example.com/logo.png
                      paymentType:
                        type: object
                        required:
                          - id
                          - code
                          - name
                        description: payment method
                        additionalProperties: false
                        properties:
                          id:
                            type: integer
                            description: payment method ID
                            examples:
                              - 2
                          code:
                            type: string
                            description: >-
                              identifier of the payment type (payment method
                              operator).
                            examples:
                              - paysec
                          name:
                            type: string
                            description: >-
                              name of the payment type (payment method
                              operator).
                            examples:
                              - PaySec
                  errors:
                    $ref: '#/components/schemas/Errors'
                required:
                  - data
                  - errors
                additionalProperties: false
      summary: Adding the payment methods
      operationId: createPaymentMethod
      description: |-
        Adds the new payment method for the specific e-shop.


        **If you are a Premium client, contact your Account or Onboarding
        manager and request the creation of a new gateway identifier. New
        payment gateway has to be approved by Shoptet and client needs to be
        familiar with the terms of payment in advance.**


        The request body includes the mandatory attributes `name` and
        `paymentType`. The other parameters are not mandatory and their default
        values will be used:


        - `description` - `null`


        - `visibility` - `false`


        - `wholesale` - `false`


        - `logo` - `null`


        Send the logo of the payment gateway as the file content, encoded with
        base64, in `data.logo.content` request item.


        **Please note that `name` cannot be longer than 255 characters.**
      tags:
        - Payment methods
      requestBody:
        content:
          application/vnd.shoptet.v1.0+json:
            schema:
              type: object
              required:
                - data
              properties:
                data:
                  type: object
                  required:
                    - name
                    - paymentType
                  additionalProperties: false
                  properties:
                    name:
                      type: string
                      minLength: 1
                      maxLength: 255
                      description: name of the payment method
                      examples:
                        - Gateway name
                    description:
                      type:
                        - string
                        - 'null'
                      description: description of payment method
                      examples:
                        - Description of payment method
                    submethod:
                      type:
                        - string
                        - 'null'
                      minLength: 1
                      maxLength: 255
                      description: Additional identification of payment method
                      examples:
                        - apple-pay
                    paymentType:
                      type: string
                      minLength: 1
                      description: >-
                        type of payment (operator) - identifier assigned by
                        Shoptet
                      examples:
                        - gopay
                    visibility:
                      type: boolean
                      description: whether the payment method will be visible
                    wholesale:
                      type: boolean
                      description: >-
                        flag, whether the payment method is available for
                        wholesale customers (`true` = for retail)
                    logo:
                      type: object
                      required:
                        - filename
                        - content
                      additionalProperties: false
                      properties:
                        filename:
                          type: string
                          pattern: ^[A-Za-z0-9-_.]*\.[a-z]{3,4}$
                          description: file name
                          examples:
                            - logo_metody.png
                        content:
                          type: string
                          description: base64 encoded package
                          examples:
                            - >-
                              VBORw0KGgoAAAANSUhEUgAAAHIAAAAiAQMAAAC5nR/JAAAABGdBT===
      parameters:
        - $ref: '#/components/parameters/DefaultContentType'
  /api/payment-methods/{guid}:
    delete:
      responses:
        '200':
          description: OK
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    type: 'null'
                    additionalProperties: false
                  errors:
                    $ref: '#/components/schemas/Errors'
                required:
                  - data
                  - errors
                additionalProperties: false
      summary: Payment method deletion
      operationId: deletePaymentMethod
      description: |-
        Deletes payment method by guid. Only payment methods related to your
        addon may be deleted. Private API tokens aren't currently supported.
      tags:
        - Payment methods
      parameters:
        - name: guid
          in: path
          description: Payment guid
          required: true
          example: 93bc0dbe-7481-11e8-8216-002590dad85e
          schema:
            type: string
        - $ref: '#/components/parameters/DefaultContentType'
  /api/unsubscribed-emails:
    get:
      responses:
        '200':
          description: OK
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    additionalProperties: false
                    required:
                      - unsubscribedEmails
                      - paginator
                    properties:
                      unsubscribedEmails:
                        type: array
                        items:
                          type: object
                          additionalProperties: false
                          required:
                            - email
                            - unsubscribedAt
                          properties:
                            email:
                              type: string
                              description: Email address
                              examples:
                                - larry@gmail.com
                            unsubscribedAt:
                              $ref: '#/components/schemas/typeDateTime'
                              description: Date and time when the email was unsubscribed
                      paginator:
                        $ref: '#/components/schemas/paginator'
                  errors:
                    $ref: '#/components/schemas/Errors'
                required:
                  - data
                  - errors
                additionalProperties: false
      summary: Listing of unsubscribed e-mails
      operationId: getListingOfUnsubscribedEmails
      description: ''
      tags:
        - Unsubscribed emails
      parameters:
        - name: from
          in: query
          description: date of unsubcription (`unsubscribedAt` in response). Optional.
          example: 2023-02-01T17:04:47+0100
          schema:
            type: string
        - $ref: '#/components/parameters/DefaultContentType'
    post:
      responses:
        '201':
          description: Created
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    additionalProperties: false
                    required:
                      - unsubscribedEmail
                    properties:
                      unsubscribedEmail:
                        type: object
                        additionalProperties: false
                        required:
                          - email
                          - unsubscribedAt
                        properties:
                          email:
                            type: string
                            description: Email address
                            examples:
                              - larry@gmail.com
                          unsubscribedAt:
                            $ref: '#/components/schemas/typeDateTime'
                            description: Date and time when the email was unsubscribed
                  errors:
                    $ref: '#/components/schemas/Errors'
                required:
                  - data
                  - errors
                additionalProperties: false
      summary: Unsubscribed e-mail insertion
      operationId: createUnsubscribedEmail
      description: ''
      tags:
        - Unsubscribed emails
      requestBody:
        content:
          application/vnd.shoptet.v1.0+json:
            schema:
              type: object
              additionalProperties: false
              required:
                - data
              properties:
                data:
                  type: object
                  additionalProperties: false
                  required:
                    - email
                    - unsubscribedAt
                  properties:
                    email:
                      type: string
                      minLength: 1
                      maxLength: 100
                      description: Email address
                      examples:
                        - larry@gmail.com
                    unsubscribedAt:
                      $ref: '#/components/schemas/typeDateTimeRequest'
                      description: >-
                        time of unsubscription - Deprecation of required
                        timezone part of datetime, and will be removed in the
                        future
      parameters:
        - $ref: '#/components/parameters/DefaultContentType'
  /api/mailing-lists:
    get:
      responses:
        '200':
          description: OK
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    additionalProperties: false
                    required:
                      - mailingLists
                    properties:
                      mailingLists:
                        type: array
                        items:
                          type: object
                          additionalProperties: false
                          required:
                            - code
                            - name
                          properties:
                            code:
                              type: string
                              examples:
                                - newsletter-list
                              description: Unique code for the mailing list
                            name:
                              type: string
                              examples:
                                - Newsletter List
                              description: Name of the mailing list
                  errors:
                    $ref: '#/components/schemas/Errors'
                required:
                  - data
                  - errors
                additionalProperties: false
      summary: Listing of e-mail distribution lists
      operationId: getListingOfEmailDistributionLists
      description: >-
        The e-mail distribution list named "newsletters" is the system one and
        is always available 

        (if the e-shop has the module installed). This e-mail distribution list
        includes the e-mails 

        of all customers who agreed to receiving e-mails.
      tags:
        - E-mail distribution lists
      parameters:
        - $ref: '#/components/parameters/DefaultContentType'
    post:
      responses:
        '201':
          description: Created
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    additionalProperties: false
                    required:
                      - mailingList
                    properties:
                      mailingList:
                        type: object
                        additionalProperties: false
                        required:
                          - code
                          - name
                        properties:
                          code:
                            type: string
                            examples:
                              - newsletter-list
                            description: Unique code for the mailing list
                          name:
                            type: string
                            examples:
                              - Newsletter List
                            description: Name of the mailing list
                  errors:
                    $ref: '#/components/schemas/Errors'
                required:
                  - data
                  - errors
                additionalProperties: false
      summary: Insertion of e-mail distribution list
      operationId: createEmailDistributionList
      description: ''
      tags:
        - E-mail distribution lists
      requestBody:
        content:
          application/vnd.shoptet.v1.0+json:
            schema:
              type: object
              required:
                - data
              properties:
                data:
                  type: object
                  additionalProperties: false
                  required:
                    - name
                  properties:
                    code:
                      type: string
                      minLength: 1
                      maxLength: 64
                      description: >-
                        code of distribution list. If not send, code is created
                        from name. Minimum length is 1 characters, maximum
                        length is 64 characters.(optional)
                      examples:
                        - newsletters-list
                    name:
                      type: string
                      minLength: 1
                      maxLength: 64
                      description: >-
                        name of distribution list. Minimum length is 1
                        characters, maximum length is 64 characters.
                      examples:
                        - Newsletters list
      parameters:
        - $ref: '#/components/parameters/DefaultContentType'
  /api/mailing-lists/{code}:
    get:
      responses:
        '200':
          description: OK
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    additionalProperties: false
                    required:
                      - emails
                      - paginator
                    properties:
                      emails:
                        type: array
                        items:
                          type: object
                          additionalProperties: false
                          required:
                            - email
                            - added
                          properties:
                            email:
                              type: string
                              description: Email address
                              examples:
                                - larry@gmail.com
                            added:
                              $ref: '#/components/schemas/typeDateTime'
                              description: date and time of creation
                      paginator:
                        $ref: '#/components/schemas/paginator'
                  errors:
                    $ref: '#/components/schemas/Errors'
                required:
                  - data
                  - errors
                additionalProperties: false
      summary: Detail of e-mail distribution list
      operationId: getDetailOfEmailDistributionList
      description: >-
        This endpoint returns a list of e-mail addresses of the distribution
        list.



        Upon initial call, it returns up to 500 e-mail addresses; using the
        `?itemsPerPage=20` parameter, you can 

        requests any number of records per page, up to 500 items limit.



        Endpoint supports
        [paging](#section/basic-principles-of-working-with-api/Paging).
      tags:
        - E-mail distribution lists
      parameters:
        - name: code
          in: path
          description: e-mail list code
          required: true
          example: newsletters
          schema:
            type: string
        - $ref: '#/components/parameters/DefaultContentType'
    post:
      responses:
        '201':
          description: Created
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    required:
                      - emailsInserted
                      - emailsExisting
                      - emailsInvalid
                      - errorMessages
                    additionalProperties: false
                    properties:
                      emailsInserted:
                        type: array
                        description: E-mails successfully added to the list
                        items:
                          type: string
                      emailsExisting:
                        type: array
                        description: >-
                          E-mails skipped because they were already inserted
                          before
                        items:
                          type: string
                      emailsInvalid:
                        type: array
                        description: E-mails skipped because of invalid format
                        items:
                          type: string
                      errorMessages:
                        type: array
                        description: Error messages of invalid e-mails
                        items:
                          type: string
                  errors:
                    $ref: '#/components/schemas/Errors'
                required:
                  - data
                  - errors
                additionalProperties: false
      summary: Distribution list e-mails insertion
      operationId: createEmailsDistributionList
      description: |-
        This endpoint allows you to add new e-mail addresses to the distribution
        list identified by its `code`. In the response you will receive
        structured info about the result of the insertion. In the
        `emailsInserted`

        key there will be a list of e-mails successfully inserted, in the
        `emailsExisting` key, there will be a list of skipped e-mails, because
        there were already in the list. In the

        `emailsInvalid` key, there will be a list of invalid e-mails (wrong
        format or non-existing MX domain record) and finally in the
        `errorMessages` key, there will be a list of error messages

        generated for invalid e-mails.
      tags:
        - E-mail distribution lists
      parameters:
        - name: code
          in: path
          description: e-mail list code
          required: true
          example: newsletters
          schema:
            type: string
        - $ref: '#/components/parameters/DefaultContentType'
      requestBody:
        content:
          application/vnd.shoptet.v1.0+json:
            schema:
              type: object
              required:
                - data
              properties:
                data:
                  type: object
                  additionalProperties: false
                  minProperties: 1
                  required:
                    - emails
                  properties:
                    emails:
                      type: array
                      description: E-mails to add to the list
                      items:
                        type: string
  /api/mailing-lists/{code}/changes:
    get:
      responses:
        '200':
          description: OK
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    additionalProperties: false
                    required:
                      - changes
                      - paginator
                    properties:
                      changes:
                        type: array
                        items:
                          type: object
                          additionalProperties: false
                          required:
                            - changeType
                            - changeTime
                            - email
                          properties:
                            changeType:
                              type: string
                              description: >-
                                type of event that happened with the entity.
                                Possible values are following: `add`, delete`.
                              examples:
                                - edit
                            changeTime:
                              $ref: '#/components/schemas/typeDateTime'
                              description: >-
                                date and time, when the event happened. ISO 8601
                                format (`2017-12-12T22:08:01+0100`).
                            email:
                              type: string
                              examples:
                                - test@test.cz
                      paginator:
                        $ref: '#/components/schemas/paginator'
                  errors:
                    $ref: '#/components/schemas/Errors'
                required:
                  - data
                  - errors
                additionalProperties: false
      summary: Last changes in distribution list
      operationId: getLastChangesInDistributionList
      description: >-
        Endpoint is intended to determine the changes after you load the
        complete e-mail list and you need to know 

        if any of these e-mails were added or removed. Guaranteed history is 30
        days, the older data are deleted 

        progressively.



        Each e-mail on single e-mail list is only mentioned with its last
        change, within the log. For example, 

        if the e-mail is deleted and then added again, the log will only show
        information about its addition. 

        The e-mail lists are not dependant on each other (removing an e-mail
        from one list does not cause any 

        change in another list, unless the e-mail was originally included in
        both).


        Can be filtered by changeType = edit/delete parameter.


        **For "created" action, we use `edit` change type.**



        Endpoint supports
        [paging](#section/basic-principles-of-working-with-api/Paging).
      tags:
        - E-mail distribution lists
      parameters:
        - name: code
          in: path
          description: e-mail list code
          required: true
          example: newsletters
          schema:
            type: string
        - name: from
          in: query
          description: >-
            DateTime from which up to the present we are interested in the
            changes. + in the time zone
          required: true
          example: '2018-01-01T01:01:01+02:00'
          schema:
            type: string
        - name: changeType
          in: query
          description: Returning only edit or delete type changed records
          required: false
          example: edit
          schema:
            type: string
        - $ref: '#/components/parameters/DefaultContentType'
  /api/discount-coupons:
    get:
      responses:
        '200':
          description: OK
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    additionalProperties: false
                    required:
                      - coupons
                      - paginator
                    properties:
                      coupons:
                        type: array
                        items:
                          $ref: '#/components/schemas/discountCoupon'
                      paginator:
                        $ref: '#/components/schemas/paginator'
                  errors:
                    $ref: '#/components/schemas/Errors'
                required:
                  - data
                  - errors
                additionalProperties: false
      summary: List of discount coupons
      operationId: getListOfDiscountCoupons
      description: >-
        List of discount coupons within the e-shop. The list is paged at 1000
        coupons. 

        The discount coupons can be filtered according to the date of creation,
        validity, 

        repeatability of usage or their template.



        If absolute price is used, the amount is interpreted with the default

        VAT rate of the eshop (in administration:



        Settings » Basic Settings » Tax Classes). It can be retrieved using

        endpoint Eshop Info, array `taxClasses`.



        The same is valid for minimum price.
      tags:
        - Discount coupons
      parameters:
        - name: template
          in: query
          description: template GUID
          example: 01b39ad8-8686-11e9-968c-08002774f818
          schema:
            type: string
        - name: creationTimeFrom
          in: query
          description: date and time of coupon creation - lower limit
          example: '2018-05-28T14:17:00+02:00'
          schema:
            type: string
        - name: creationTimeTo
          in: query
          description: date and time of coupon creation - upper limit
          example: '2028-05-28T14:17:00+02:00'
          schema:
            type: string
        - name: reusable
          in: query
          description: is the discount coupon reusable?
          example: 'true'
          schema:
            type: boolean
        - name: validFrom
          in: query
          description: date of discount coupon validity - lower limit
          example: '2018-05-28'
          schema:
            type: string
        - name: validTo
          in: query
          description: date of discount coupon validity - upper limit
          example: '2028-05-28'
          schema:
            type: string
        - $ref: '#/components/parameters/DefaultContentType'
    post:
      responses:
        '201':
          description: Created
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    additionalProperties: false
                    required:
                      - coupons
                    properties:
                      coupons:
                        type: array
                        items:
                          type: object
                          additionalProperties: false
                          required:
                            - code
                            - creationTime
                            - discountType
                            - amount
                            - ratio
                            - minPrice
                            - currency
                            - template
                            - shippingPrice
                            - validFrom
                            - validTo
                            - reusable
                            - usedCount
                            - remark
                          properties:
                            code:
                              type: string
                              description: code of discount coupon
                              examples:
                                - DC14585431
                            creationTime:
                              $ref: '#/components/schemas/typeDateTime'
                              description: >-
                                date and time, when the discount coupon was
                                created
                            discountType:
                              type: string
                              enum:
                                - percentual
                                - fixed
                              description: >-
                                type of discount. Percentual (`percentual`) or
                                absolute discount (`fixed`)
                              examples:
                                - percentual
                            amount:
                              type:
                                - string
                                - 'null'
                              $ref: '#/components/schemas/typePrice'
                              description: >-
                                amount of absolute discount (default eshop VAT
                                rate is used)
                            ratio:
                              type:
                                - string
                                - 'null'
                              $ref: '#/components/schemas/typePriceRatio'
                              description: amount of percentual discount
                            minPrice:
                              type:
                                - string
                                - 'null'
                              $ref: '#/components/schemas/typePrice'
                              description: >-
                                minimum price of order (default eshop VAT rate
                                is used)
                            currency:
                              type:
                                - string
                                - 'null'
                              $ref: '#/components/schemas/typeCurrencyCode'
                              description: currency of fixed discount.
                            template:
                              $ref: '#/components/schemas/typeGuid'
                              description: template used for the discount coupon creation.
                            shippingPrice:
                              type:
                                - string
                                - 'null'
                              enum:
                                - cart
                                - free
                                - beforeDiscount
                                - null
                              description: >-
                                how the transport prices are calculated:
                                according to the cart before discounts
                                (beforeDiscount), according to the displayed
                                value of the cart (cart), or free (free)
                              examples:
                                - cart
                            validFrom:
                              $ref: '#/components/schemas/typeDate'
                              description: starting date of coupon validity
                            validTo:
                              $ref: '#/components/schemas/typeDate'
                              description: ending date of coupon validity
                            reusable:
                              type: boolean
                              description: Is the discount coupon reusable?
                              examples:
                                - true
                            usedCount:
                              type: integer
                              description: >-
                                number of times the discount coupon has been
                                used
                              examples:
                                - 0
                            remark:
                              type:
                                - string
                                - 'null'
                              description: remark for the discount coupon.
                              examples:
                                - 'Note: This is a test discount coupon'
                  errors:
                    $ref: '#/components/schemas/Errors'
                required:
                  - data
                  - errors
                additionalProperties: false
      summary: Discount coupons insertion
      operationId: createDiscountCoupons
      description: |-
        This endpoint allows you to insert specific discount coupons into
        Shoptet. Request is sent in JSON format in its body.


        It is good to compare count of requested coupons with count of cooupons
        in response as it can be different. It is because of request validation,
        where it ignores invalid coupons.
      tags:
        - Discount coupons
      requestBody:
        content:
          application/vnd.shoptet.v1.0+json:
            schema:
              type: object
              additionalProperties: false
              required:
                - data
              properties:
                data:
                  type: object
                  additionalProperties: false
                  required:
                    - coupons
                  properties:
                    coupons:
                      type: array
                      description: Discount coupons. Minimal 1 item, maximal 999 items.
                      minItems: 1
                      maxItems: 999
                      items:
                        type: object
                        additionalProperties: false
                        required:
                          - discountType
                          - template
                          - shippingPrice
                          - reusable
                        properties:
                          code:
                            type:
                              - string
                              - 'null'
                            minLength: 1
                            maxLength: 16
                            description: Code of discount coupon.
                            examples:
                              - DISCOUNT10
                          discountType:
                            type: string
                            enum:
                              - percentual
                              - fixed
                            description: >-
                              Type of discount. Percentual (percentual) or fixed
                              discount (fixed)
                            examples:
                              - percentual
                          amount:
                            type:
                              - string
                              - 'null'
                            $ref: '#/components/schemas/typePrice'
                            description: >-
                              Amount of fixed discount (default eshop VAT rate
                              is used). This items needs to be omitted when
                              `discountType` is set to `percentual`
                            examples:
                              - '100.0'
                          ratio:
                            type:
                              - string
                              - 'null'
                            $ref: '#/components/schemas/typePriceRatio'
                            pattern: '[0-1]\.[0-9]{4}$'
                            description: >-
                              Amount of percentual discount. This items needs to
                              be omitted when `discountType` is set to `fixed`.
                              4 decimal places accuracy, from `0.0000` (0%
                              discount) to `1.0000` (100% discount).
                            examples:
                              - '0.1000'
                          minPrice:
                            type:
                              - string
                              - 'null'
                            $ref: '#/components/schemas/typePrice'
                            description: >-
                              Minimum price of order (default eshop VAT rate is
                              used)
                            examples:
                              - '100.0'
                          currency:
                            type:
                              - string
                              - 'null'
                            $ref: '#/components/schemas/typeCurrencyCode'
                            description: >-
                              Currency of fixed discount. It can be null only
                              when `discountType` is set to `percentual` and
                              `minPrice` is set to null
                            examples:
                              - CZK
                          template:
                            $ref: '#/components/schemas/typeGuid'
                            description: GUID of discount coupon template
                          shippingPrice:
                            type: string
                            enum:
                              - cart
                              - free
                              - beforeDiscount
                            description: >-
                              How the transport prices are calculated: according
                              to the cart before discounts (beforeDiscount),
                              according to the displayed value of the cart
                              (cart), or free (free)
                            examples:
                              - cart
                          validFrom:
                            type:
                              - string
                              - 'null'
                            $ref: '#/components/schemas/typeDate'
                            description: Starting date of coupon validity
                          validTo:
                            type:
                              - string
                              - 'null'
                            $ref: '#/components/schemas/typeDate'
                            description: Ending date of coupon validity
                          reusable:
                            type: boolean
                            description: Is the discount coupon reusable?
                            examples:
                              - true
                          remark:
                            type:
                              - string
                              - 'null'
                            description: Discount coupon note
                            examples:
                              - >-
                                This is a discount coupon for the first
                                purchase.
      parameters:
        - $ref: '#/components/parameters/DefaultContentType'
    delete:
      responses:
        '200':
          description: OK
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    type: 'null'
                  errors:
                    $ref: '#/components/schemas/Errors'
                required:
                  - data
                  - errors
                additionalProperties: false
        '422':
          description: Unprocessable Entity
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    type:
                      - object
                      - 'null'
                  errors:
                    type: array
                    items:
                      type: object
                      properties:
                        errorCode:
                          type: string
                        message:
                          type: string
                        instance:
                          type: string
              example:
                data: null
                errors:
                  - errorCode: discount-coupon-not-found
                    message: Unable to delete discount coupon.
                    instance: some-coupon-code
      summary: Bulk discount coupon deletion
      operationId: bulkDeleteDiscountCoupons
      description: >-
        Bulk deletion of discount coupons as per list of `codes`. If successful,
        returns

        the code 200.


        If some discount coupons does not exist within the e-shop, a 422 code is

        returned.
      tags:
        - Discount coupons
      requestBody:
        content:
          application/vnd.shoptet.v1.0+json:
            schema:
              type: object
              additionalProperties: false
              required:
                - data
              properties:
                data:
                  type: object
                  additionalProperties: false
                  required:
                    - couponCodes
                  properties:
                    couponCodes:
                      type: array
                      description: Discount coupons. Minimal 1 item, maximal 200 items.
                      minItems: 1
                      maxItems: 200
                      items:
                        type: string
                        examples:
                          - test-code-123
                          - test-code-456
      parameters:
        - $ref: '#/components/parameters/DefaultContentType'
  /api/discount-coupons/snapshot:
    get:
      responses:
        '202':
          description: Accepted
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    additionalProperties: false
                    required:
                      - jobId
                    properties:
                      jobId:
                        examples:
                          - ad24xod
                        description: token of job
                        type: string
                  errors:
                    $ref: '#/components/schemas/Errors'
      summary: List of all discount coupons
      operationId: getListOfAllDiscountCoupons
      description: >-
        Using this endpoint, you can get list of all discount coupons with
        detailed info of each discount coupon 

        asynchronously. See how [Asynchronous
        requests](https://developers.shoptet.com/asynchronous-requests/) 

        work on our developer's portal.



        Response will be in [jsonlines](https://jsonlines.org/) format with each
        product taking one line of output file.

        One discount coupon in response has the same format as one discount
        coupon item form list response.



        Result file is compressed using GZIP.
      tags:
        - Discount coupons
      parameters:
        - name: codeFrom
          in: query
          description: Export discount coupons with code after given value
          example: '0000000006'
          schema:
            type: string
        - name: codeTo
          in: query
          description: Export discount coupons with code befor given value
          example: '0000000006'
          schema:
            type: string
        - name: creationTimeFrom
          in: query
          description: Export discount coupons created after date
          example: 2014-09-05T00:00:00%2B0000
          schema:
            type: string
        - name: creationTimeTo
          in: query
          description: Export discount coupons created before date
          example: 2019-09-05T00:00:00%2B0000
          schema:
            type: string
        - name: discountType
          in: query
          description: Export discount coupons with given discount type (percentual, fixed)
          example: free
          schema:
            type: string
        - name: validFrom
          in: query
          description: Export discount coupons valid after date
          example: '2014-09-05'
          schema:
            type: string
        - name: validTo
          in: query
          description: Export discount coupons valid before date
          example: '2019-09-05'
          schema:
            type: string
        - name: reusable
          in: query
          description: Is the discount coupon reusable?
          example: 'true'
          schema:
            type: boolean
        - name: template
          in: query
          description: GUID of discount coupon template
          required: true
          example: 01b39ad8-8686-11e9-968c-08002774f818
          schema:
            type: string
        - name: currency
          in: query
          description: Currency of fixed discount
          example: EUR
          schema:
            type: string
        - name: shippingPrice
          in: query
          description: |-
            How the transport prices are calculated: according to the cart
            before discounts (beforeDiscount), according to the displayed value
            of the cart (cart), or free (free)
          required: true
          example: cart
          schema:
            type: string
        - $ref: '#/components/parameters/DefaultContentType'
  /api/discount-coupons/{code}:
    get:
      responses:
        '200':
          description: OK
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    additionalProperties: false
                    required:
                      - coupon
                    properties:
                      coupon:
                        $ref: '#/components/schemas/discountCoupon'
                  errors:
                    $ref: '#/components/schemas/Errors'
                required:
                  - data
                  - errors
                additionalProperties: false
        '404':
          description: Not Found
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    type: 'null'
                  errors:
                    $ref: '#/components/schemas/Errors'
              example:
                data: null
                errors:
                  - errorCode: discount-coupon-not-found
                    message: Discount coupon with code "AB12345" was not found.
                    instance: AB12345
      summary: Detail of discount coupon
      operationId: getDetailOfDiscountCoupon
      description: Detail of discount coupon within the e-shop.
      tags:
        - Discount coupons
      parameters:
        - name: code
          in: path
          description: discount coupon code
          required: true
          example: ABCDEF12
          schema:
            type: string
        - $ref: '#/components/parameters/DefaultContentType'
    delete:
      responses:
        '200':
          description: OK
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    type: 'null'
                  errors:
                    $ref: '#/components/schemas/Errors'
                required:
                  - data
                  - errors
                additionalProperties: false
        '404':
          description: Not Found
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    type: 'null'
                  errors:
                    $ref: '#/components/schemas/Errors'
              example:
                data: null
                errors:
                  - errorCode: discount-coupon-not-found
                    message: Discount coupon with code "AB12345" was not found.
                    instance: AB12345
      summary: Discount coupon deletion
      operationId: deleteDiscountCoupon
      description: |-
        Deletes discount coupon as per entered `code`. If successful, returns
        the code 200.

        If the discount coupon does not exist within the e-shop, a 404 code is
        returned.
      tags:
        - Discount coupons
      parameters:
        - name: code
          in: path
          description: discount coupon code
          required: true
          example: ABCDEF12
          schema:
            type: string
        - $ref: '#/components/parameters/DefaultContentType'
  /api/discount-coupons/set:
    post:
      responses:
        '201':
          description: Created
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    additionalProperties: false
                    required:
                      - coupons
                    properties:
                      coupons:
                        type: array
                        items:
                          type: object
                          additionalProperties: false
                          required:
                            - code
                            - creationTime
                            - discountType
                            - amount
                            - ratio
                            - minPrice
                            - currency
                            - template
                            - shippingPrice
                            - validFrom
                            - validTo
                            - reusable
                            - usedCount
                            - remark
                          properties:
                            code:
                              type: string
                              description: code of discount coupon
                              examples:
                                - DC14585431
                            creationTime:
                              $ref: '#/components/schemas/typeDateTime'
                              description: >-
                                date and time, when the discount coupon was
                                created
                            discountType:
                              type: string
                              enum:
                                - percentual
                                - fixed
                              description: >-
                                type of discount. Percentual (`percentual`) or
                                absolute discount (`fixed`)
                              examples:
                                - percentual
                            amount:
                              type:
                                - string
                                - 'null'
                              $ref: '#/components/schemas/typePrice'
                              description: >-
                                amount of absolute discount (default eshop VAT
                                rate is used)
                            ratio:
                              type:
                                - string
                                - 'null'
                              $ref: '#/components/schemas/typePriceRatio'
                              description: amount of percentual discount
                            minPrice:
                              type:
                                - string
                                - 'null'
                              $ref: '#/components/schemas/typePrice'
                              description: >-
                                minimum price of order (default eshop VAT rate
                                is used)
                            currency:
                              type:
                                - string
                                - 'null'
                              $ref: '#/components/schemas/typeCurrencyCode'
                              description: currency of fixed discount.
                            template:
                              $ref: '#/components/schemas/typeGuid'
                              description: template used for the discount coupon creation.
                            shippingPrice:
                              type:
                                - string
                                - 'null'
                              enum:
                                - cart
                                - free
                                - beforeDiscount
                                - null
                              description: >-
                                how the transport prices are calculated:
                                according to the cart before discounts
                                (beforeDiscount), according to the displayed
                                value of the cart (cart), or free (free)
                              examples:
                                - cart
                            validFrom:
                              $ref: '#/components/schemas/typeDate'
                              description: starting date of coupon validity
                            validTo:
                              $ref: '#/components/schemas/typeDate'
                              description: ending date of coupon validity
                            reusable:
                              type: boolean
                              description: Is the discount coupon reusable?
                              examples:
                                - true
                            usedCount:
                              type: integer
                              description: >-
                                number of times the discount coupon has been
                                used
                              examples:
                                - 0
                            remark:
                              type:
                                - string
                                - 'null'
                              description: remark for the discount coupon.
                              examples:
                                - 'Note: This is a test discount coupon'
                  errors:
                    $ref: '#/components/schemas/Errors'
                required:
                  - data
                  - errors
                additionalProperties: false
      summary: Discount coupons set creation
      operationId: createDiscountCouponsSet
      description: >-
        This endpoint allows you to create set of discount coupons for
        Shoptet.It is good to compare count of requested

        coupons with count of cooupons in response as it can be different. It is
        because of request validation, 

        where it ignores invalid coupons.
      tags:
        - Discount coupons
      requestBody:
        content:
          application/vnd.shoptet.v1.0+json:
            schema:
              type: object
              additionalProperties: false
              required:
                - data
              properties:
                data:
                  type: object
                  additionalProperties: false
                  required:
                    - count
                    - discountType
                    - template
                    - shippingPrice
                    - reusable
                  properties:
                    count:
                      type: number
                      minimum: 2
                      maximum: 999
                      examples:
                        - 2
                    discountType:
                      type: string
                      enum:
                        - percentual
                        - fixed
                      description: >-
                        Type of discount. Percentual (percentual) or fixed
                        discount (fixed)
                      examples:
                        - percentual
                    amount:
                      type:
                        - string
                        - 'null'
                      $ref: '#/components/schemas/typePrice'
                      description: >-
                        Amount of fixed discount (default eshop VAT rate is
                        used). This items needs to be omitted when
                        `discountType` is set to `percentual`
                      examples:
                        - '100.0'
                    ratio:
                      type:
                        - string
                        - 'null'
                      $ref: '#/components/schemas/typePriceRatio'
                      pattern: '[0-1]\.[0-9]{4}$'
                      description: >-
                        Amount of percentual discount. This items needs to be
                        omitted when `discountType` is set to `fixed`. 4 decimal
                        places accuracy, from `0.0000` (0% discount) to `1.0000`
                        (100% discount).
                      examples:
                        - '0.1000'
                    minPrice:
                      type:
                        - string
                        - 'null'
                      $ref: '#/components/schemas/typePrice'
                      description: Minimum price of order (default eshop VAT rate is used)
                      examples:
                        - '100.0'
                    currency:
                      type:
                        - string
                        - 'null'
                      $ref: '#/components/schemas/typeCurrencyCode'
                      description: >-
                        Currency of fixed discount. It can be null only when
                        `discountType` is set to `percentual` and `minPrice` is
                        set to null
                      examples:
                        - CZK
                    template:
                      $ref: '#/components/schemas/typeGuid'
                      description: GUID of discount coupon template
                    shippingPrice:
                      type: string
                      enum:
                        - cart
                        - free
                        - beforeDiscount
                      description: >-
                        How the transport prices are calculated: according to
                        the cart before discounts (beforeDiscount), according to
                        the displayed value of the cart (cart), or free (free)
                      examples:
                        - cart
                    validFrom:
                      type:
                        - string
                        - 'null'
                      $ref: '#/components/schemas/typeDate'
                      description: Starting date of coupon validity
                    validTo:
                      type:
                        - string
                        - 'null'
                      $ref: '#/components/schemas/typeDate'
                      description: Ending date of coupon validity
                    reusable:
                      type: boolean
                      description: Is the discount coupon reusable?
                      examples:
                        - true
                    remark:
                      type:
                        - string
                        - 'null'
                      description: Discount coupon note
                      examples:
                        - This is a discount coupon for the first purchase.
      parameters:
        - $ref: '#/components/parameters/DefaultContentType'
  /api/discount-coupons/use/{code}:
    patch:
      responses:
        '200':
          description: OK
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    type: 'null'
                  errors:
                    $ref: '#/components/schemas/Errors'
                required:
                  - data
                  - errors
                additionalProperties: false
        '404':
          description: Not Found
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    type: 'null'
                  errors:
                    $ref: '#/components/schemas/Errors'
              example:
                data: null
                errors:
                  - errorCode: order-not-found
                    message: Order "2015000010" was not found.
                    instance: '2015000010'
        '409':
          description: Conflict
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    type: 'null'
                  errors:
                    $ref: '#/components/schemas/Errors'
              example:
                data: null
                errors:
                  - errorCode: discount-coupon-already-used
                    message: Discount coupon with code "ABCDEF12" was already used.
                    instance: ABCDEF12
      summary: Discount coupons usage update
      operationId: updateDiscountCouponsUsage
      description: This endpoint allows you to set usage of discount coupon.
      tags:
        - Discount coupons
      parameters:
        - name: code
          in: path
          description: discount coupon code
          required: true
          example: '89170026'
          schema:
            type: string
        - name: suppressOrderChecking
          in: query
          description: suppress checking if order exists.
          example: 'true'
          schema:
            type: string
            default: 'false'
        - $ref: '#/components/parameters/DefaultContentType'
      requestBody:
        content:
          application/vnd.shoptet.v1.0+json:
            schema:
              type: object
              additionalProperties: false
              required:
                - data
              properties:
                data:
                  type: object
                  additionalProperties: false
                  required:
                    - orderCode
                  properties:
                    orderCode:
                      type: string
                      minLength: 1
                      maxLength: 255
                      description: Order code
                      examples:
                        - '2015000010'
  /api/discount-coupons/templates:
    get:
      responses:
        '200':
          description: OK
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    additionalProperties: false
                    required:
                      - couponTemplates
                    properties:
                      couponTemplates:
                        type: array
                        items:
                          type: object
                          additionalProperties: false
                          required:
                            - guid
                            - title
                            - customerGroup
                            - categories
                            - brands
                            - productFlags
                          properties:
                            guid:
                              $ref: '#/components/schemas/typeGuid'
                              description: discount coupons template GUID
                            title:
                              type: string
                              description: name of discount coupons template
                              examples:
                                - Luxury goods
                            customerGroup:
                              type:
                                - object
                                - 'null'
                              required:
                                - id
                                - name
                              description: >-
                                group of users for whom the discount coupons
                                shall be available.
                              properties:
                                id:
                                  type: number
                                  description: customer group ID
                                  examples:
                                    - 1
                                name:
                                  type: string
                                  description: customer group name
                                  examples:
                                    - Velkoobchodní odběratel
                            categories:
                              type:
                                - array
                                - 'null'
                              description: >-
                                list of categories, for which the discount
                                coupons shall be available.
                              items:
                                type: object
                                additionalProperties: false
                                required:
                                  - guid
                                  - name
                                properties:
                                  guid:
                                    $ref: '#/components/schemas/typeGuid'
                                  name:
                                    type: string
                                    examples:
                                      - Watch
                            brands:
                              type:
                                - array
                                - 'null'
                              description: brands, for which the discount can be used.
                              items:
                                $ref: '#/components/schemas/brandNamed'
                            productFlags:
                              type:
                                - array
                                - 'null'
                              description: discount parameters.
                              items:
                                type: object
                                additionalProperties: false
                                required:
                                  - code
                                  - title
                                  - condition
                                properties:
                                  code:
                                    type: string
                                    description: parameter code
                                    examples:
                                      - akademiks
                                  title:
                                    type: string
                                    description: parameter name
                                    examples:
                                      - Akademiks
                                  condition:
                                    type: string
                                    description: '`required` or `forbidden`'
                                    examples:
                                      - required
                  errors:
                    $ref: '#/components/schemas/Errors'
                required:
                  - data
                  - errors
                additionalProperties: false
      summary: Templates of discount coupons
      operationId: getTemplatesOfDiscountCoupons
      description: >-
        Templates of discount coupons within the e-shop. All templates are
        listed at a time. Without possibility of 

        paging or filtering.
      tags:
        - Discount coupons
      parameters:
        - $ref: '#/components/parameters/DefaultContentType'
    post:
      responses:
        '201':
          description: Created
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    additionalProperties: false
                    required:
                      - guid
                      - title
                      - customerGroup
                      - categories
                      - brands
                      - productFlags
                    properties:
                      guid:
                        $ref: '#/components/schemas/typeGuid'
                        description: discount coupons template GUID
                      title:
                        type: string
                        description: name of discount coupons template
                        examples:
                          - Luxury goods
                      customerGroup:
                        type:
                          - object
                          - 'null'
                        required:
                          - id
                          - name
                        description: >-
                          group of users for whom the discount coupons shall be
                          available.
                        properties:
                          id:
                            type: number
                            description: customer group ID
                            examples:
                              - 1
                          name:
                            type: string
                            description: customer group name
                            examples:
                              - Velkoobchodní odběratel
                      categories:
                        type:
                          - array
                          - 'null'
                        description: >-
                          list of categories, for which the discount coupons
                          shall be available.
                        items:
                          type: object
                          additionalProperties: false
                          required:
                            - guid
                            - name
                          properties:
                            guid:
                              $ref: '#/components/schemas/typeGuid'
                            name:
                              type: string
                              examples:
                                - Watch
                      brands:
                        type:
                          - array
                          - 'null'
                        description: brands, for which the discount can be used.
                        items:
                          $ref: '#/components/schemas/brandNamed'
                      productFlags:
                        type:
                          - array
                          - 'null'
                        description: discount parameters.
                        items:
                          type: object
                          additionalProperties: false
                          required:
                            - code
                            - title
                            - condition
                          properties:
                            code:
                              type: string
                              description: parameter code
                              examples:
                                - akademiks
                            title:
                              type: string
                              description: parameter name
                              examples:
                                - Akademiks
                            condition:
                              type: string
                              description: '`required` or `forbidden`'
                              examples:
                                - required
                  errors:
                    $ref: '#/components/schemas/Errors'
      summary: Discount coupons template insertion
      operationId: createDiscountCouponsTemplate
      description: ''
      tags:
        - Discount coupons
      requestBody:
        content:
          application/vnd.shoptet.v1.0+json:
            schema:
              type: object
              additionalProperties: false
              required:
                - data
              properties:
                data:
                  type: object
                  additionalProperties: false
                  required:
                    - title
                  properties:
                    guid:
                      type:
                        - string
                        - 'null'
                      $ref: '#/components/schemas/typeGuid'
                      description: >-
                        Product GUID. Must be unique if set. Generated
                        automatically if not set.
                    title:
                      type: string
                      minLength: 1
                      maxLength: 64
                      description: >-
                        Product name. MinLength 1 character, MaxLength 64
                        characters. Mandatory.
                      examples:
                        - product
                    customerGroupId:
                      type: integer
                      description: Group must exists if set.
                      examples:
                        - 1
                    categoryGuids:
                      type:
                        - array
                        - 'null'
                      items:
                        $ref: '#/components/schemas/typeGuid'
                    brands:
                      type:
                        - array
                        - 'null'
                      items:
                        type: string
                        examples:
                          - citizen
                    productFlags:
                      type:
                        - array
                        - 'null'
                      items:
                        type: object
                        additionalProperties: false
                        required:
                          - code
                          - condition
                        properties:
                          code:
                            type: string
                            description: parameter code
                            examples:
                              - akademiks
                          condition:
                            type: string
                            enum:
                              - required
                              - forbidden
                            description: '`required` or `forbidden`'
                            examples:
                              - required
      parameters:
        - $ref: '#/components/parameters/DefaultContentType'
  /api/discount-coupons/templates/{guid}:
    delete:
      responses:
        '200':
          description: OK
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    type: 'null'
                  errors:
                    $ref: '#/components/schemas/Errors'
                required:
                  - data
                  - errors
                additionalProperties: false
              example:
                data: null
                errors: null
        '404':
          description: Not Found
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    type: 'null'
                  errors:
                    $ref: '#/components/schemas/Errors'
              example:
                data: null
                errors:
                  - errorCode: discount-coupon-template-not-found
                    message: |-
                      Discount coupon template
                      "bffa3b98-d968-11e0-b04f-57a43310b768" was not found.
                    instance: bffa3b98-d968-11e0-b04f-57a43310b768
        '409':
          description: Conflict
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    type: 'null'
                  errors:
                    $ref: '#/components/schemas/Errors'
              example:
                data: null
                errors:
                  - errorCode: discount-coupon-template-used
                    message: |-
                      Discount coupon template
                      "bffa3b98-d968-11e0-b04f-57a43310b768" cannot be deleted
                      because it is used.
                    instance: bffa3b98-d968-11e0-b04f-57a43310b768
      summary: Discount coupons template deletion
      operationId: deleteDiscountCouponsTemplate
      description: |-
        Deletes discount coupon template as per entered `guid`. If successful,
        returns the code 200.

        If the discount coupon template does not exist within the e-shop, a 404
        code is returned.

        If the discount coupon template cannot be deleted, because it is used as
        template of discount coupon, a 409 code is returned.
      tags:
        - Discount coupons
      parameters:
        - name: guid
          in: path
          description: discount coupon template guid
          required: true
          example: b6e09a7a-6cb5-11eb-89aa-08002746ad91
          schema:
            type: string
        - $ref: '#/components/parameters/DefaultContentType'
  /api/xy-discounts:
    get:
      responses:
        '200':
          description: OK
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    additionalProperties: false
                    required:
                      - discounts
                      - paginator
                    properties:
                      discounts:
                        type: array
                        items:
                          type: object
                          additionalProperties: false
                          required:
                            - id
                            - title
                            - validFrom
                            - validTo
                            - customerGroups
                            - priority
                            - includeUnregisteredCustomers
                          properties:
                            id:
                              type: integer
                              description: discount ID
                              examples:
                                - 1
                            title:
                              type: string
                              description: discount title
                              examples:
                                - 18 + 4 free
                            validFrom:
                              $ref: '#/components/schemas/typeDate'
                              description: date of discount validity from
                              examples:
                                - '2014-11-19'
                            validTo:
                              $ref: '#/components/schemas/typeDate'
                              description: date of discount validity to
                              examples:
                                - '2014-12-19'
                            customerGroups:
                              type:
                                - array
                                - 'null'
                              description: customer groups connected to discount
                              items:
                                type: object
                                additionalProperties: false
                                required:
                                  - code
                                  - name
                                properties:
                                  code:
                                    type: string
                                    description: customer group code
                                    examples:
                                      - retail
                                  name:
                                    type: string
                                    description: customer group name
                                    examples:
                                      - Retail customer
                            includeUnregisteredCustomers:
                              type: boolean
                              description: >-
                                defines if discount is valid for unregistered
                                customers, default value is `false`
                              examples:
                                - true
                            priority:
                              type:
                                - integer
                                - 'null'
                              description: priority of the discount
                              examples:
                                - 1
                            usageCount:
                              type:
                                - integer
                                - 'null'
                              description: number of how many times can be discount used
                              examples:
                                - 1000
                      paginator:
                        $ref: '#/components/schemas/paginator'
                  errors:
                    $ref: '#/components/schemas/Errors'
                required:
                  - data
                  - errors
                additionalProperties: false
      summary: List of X + Y discounts
      operationId: getListOfXYDiscounts
      description: ''
      tags:
        - XY discounts
      parameters:
        - name: customerGroupCode
          in: query
          description: |-
            customer group code, possible values can be get by customer group
            list endpoint
          example: retail
          schema:
            type: string
        - name: validFrom
          in: query
          description: date of discount validity - lower limit
          example: '2028-05-28'
          schema:
            type: string
        - name: validTo
          in: query
          description: date of discount validity - upper limit
          example: '2028-05-28'
          schema:
            type: string
        - $ref: '#/components/parameters/DefaultContentType'
    post:
      responses:
        '201':
          description: Created
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    additionalProperties: false
                    required:
                      - discount
                    properties:
                      discount:
                        $ref: '#/components/schemas/xyDiscount'
                  errors:
                    $ref: '#/components/schemas/Errors'
                required:
                  - data
                  - errors
                additionalProperties: false
      summary: X + Y discount insertion
      operationId: createXYDiscount
      description: ''
      tags:
        - XY discounts
      requestBody:
        content:
          application/vnd.shoptet.v1.0+json:
            schema:
              type: object
              additionalProperties: false
              required:
                - data
              properties:
                data:
                  type: object
                  additionalProperties: false
                  required:
                    - title
                    - xAmount
                    - yAmount
                    - xTargeting
                    - yTargeting
                  properties:
                    title:
                      type: string
                      minLength: 1
                      description: discount title
                      examples:
                        - 18 + 4 free
                    validFrom:
                      $ref: '#/components/schemas/typeDate'
                      description: date of discount validity from
                      examples:
                        - '2014-11-19'
                    validTo:
                      $ref: '#/components/schemas/typeDate'
                      description: date of discount validity to
                      examples:
                        - '2014-12-19'
                    customerGroupCodes:
                      type:
                        - array
                        - 'null'
                      minItems: 1
                      description: customer groups connected to discount
                      items:
                        type: string
                        examples:
                          - retail
                    includeUnregisteredCustomers:
                      type: boolean
                      description: >-
                        defines if discount is valid for unregistered customers,
                        default value is `false`.
                      examples:
                        - true
                    xAmount:
                      type: string
                      $ref: '#/components/schemas/typePositiveAmount'
                      description: discount amount in X axis
                      examples:
                        - '3.000'
                    yAmount:
                      type: string
                      $ref: '#/components/schemas/typePositiveAmount'
                      description: amount of products get by discount
                      examples:
                        - '1.000'
                    description:
                      type:
                        - string
                        - 'null'
                      description: discount description
                      examples:
                        - Get 1 product for free when you buy 3 products!
                    termsAndConditionsUrl:
                      type:
                        - string
                        - 'null'
                      description: URL to terms and conditions
                      examples:
                        - http://www.example.com/terms-and-conditions
                    displayFlag:
                      type: boolean
                      description: >-
                        whether or not to display flag. If not set, default
                        value is `true`.
                      examples:
                        - true
                    flagColor:
                      type:
                        - string
                        - 'null'
                      $ref: '#/components/schemas/typeColor'
                      description: color of flag
                    displayBanner:
                      type: boolean
                      description: >-
                        whether or not to display banner. If not set, default
                        value is `true`.
                      examples:
                        - true
                    bannerColor:
                      type:
                        - string
                        - 'null'
                      $ref: '#/components/schemas/typeColor'
                      description: color of banner
                    usageCount:
                      type:
                        - integer
                        - 'null'
                      minimum: 1
                      description: number of how many times can be discount used.
                      examples:
                        - 1000
                    sortBefore:
                      type: integer
                      description: >-
                        id of xy discount before which you want to move the xy
                        discount from the request. Not possible to use with
                        `sortAfter`.
                      examples:
                        - 1
                    sortAfter:
                      type: integer
                      description: >-
                        id of xy discount after which you want to move the  xy
                        discount from the request. Not possible to use with
                        `sortBefore`.
                      examples:
                        - 1
                    xTargeting:
                      $ref: '#/components/schemas/xyDiscountTargetingPostRequest'
                      description: definition of products needed to get discount
                    yTargeting:
                      $ref: '#/components/schemas/xyDiscountTargetingPostRequest'
                      description: definition of products get by discount
      parameters:
        - $ref: '#/components/parameters/DefaultContentType'
  /api/xy-discounts/{id}:
    get:
      responses:
        '200':
          description: OK
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    additionalProperties: false
                    required:
                      - discount
                    properties:
                      discount:
                        $ref: '#/components/schemas/xyDiscount'
                  errors:
                    $ref: '#/components/schemas/Errors'
                required:
                  - data
                  - errors
                additionalProperties: false
      summary: Detail of X + Y discounts
      operationId: getDetailOfXYDiscounts
      description: ''
      tags:
        - XY discounts
      parameters:
        - name: id
          in: path
          description: discount ID
          required: true
          example: '1'
          schema:
            type: number
        - $ref: '#/components/parameters/DefaultContentType'
    patch:
      responses:
        '200':
          description: OK
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    additionalProperties: false
                    required:
                      - discount
                    properties:
                      discount:
                        $ref: '#/components/schemas/xyDiscount'
                  errors:
                    $ref: '#/components/schemas/Errors'
        '404':
          description: Not Found
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    type: 'null'
                  errors:
                    $ref: '#/components/schemas/Errors'
              example:
                data: null
                errors:
                  - errorCode: xy-discount-not-found
                    message: X + Y discount with ID "1" not found.
                    instance: '1'
      summary: X + Y discount update
      operationId: updateXYDiscount
      description: ''
      tags:
        - XY discounts
      parameters:
        - name: id
          in: path
          description: discount ID
          required: true
          example: '1'
          schema:
            type: number
        - $ref: '#/components/parameters/DefaultContentType'
      requestBody:
        content:
          application/vnd.shoptet.v1.0+json:
            schema:
              type: object
              additionalProperties: false
              required:
                - data
              properties:
                data:
                  type: object
                  additionalProperties: false
                  minProperties: 1
                  properties:
                    title:
                      type: string
                      minLength: 1
                      description: discount title
                      examples:
                        - 18 + 4 free
                    validFrom:
                      $ref: '#/components/schemas/typeDate'
                      description: date of discount validity from
                      examples:
                        - '2014-11-19'
                    validTo:
                      $ref: '#/components/schemas/typeDate'
                      description: date of discount validity to
                      examples:
                        - '2014-12-19'
                    customerGroupCodes:
                      type:
                        - array
                        - 'null'
                      description: customer groups connected to discount
                      minItems: 1
                      items:
                        type: string
                        examples:
                          - retail
                    includeUnregisteredCustomers:
                      type: boolean
                      description: >-
                        defines if discount is valid for unregistered customers,
                        default value is `false`.
                      examples:
                        - true
                    xAmount:
                      type: string
                      $ref: '#/components/schemas/typePositiveAmount'
                      description: discount amount in X axis
                      examples:
                        - '3.000'
                    yAmount:
                      type: string
                      $ref: '#/components/schemas/typePositiveAmount'
                      description: amount of products get by discount
                      examples:
                        - '1.000'
                    description:
                      type:
                        - string
                        - 'null'
                      description: discount description
                      examples:
                        - Get 1 product for free when you buy 3 products!
                    termsAndConditionsUrl:
                      type:
                        - string
                        - 'null'
                      description: URL to terms and conditions
                      examples:
                        - http://www.example.com/terms-and-conditions
                    displayFlag:
                      type: boolean
                      description: >-
                        whether or not to display flag. If not set, default
                        value is `true`.
                      examples:
                        - true
                    flagColor:
                      type:
                        - string
                        - 'null'
                      $ref: '#/components/schemas/typeColor'
                      description: color of flag
                    displayBanner:
                      type: boolean
                      description: >-
                        whether or not to display banner. If not set, default
                        value is `true`.
                      examples:
                        - true
                    bannerColor:
                      type:
                        - string
                        - 'null'
                      $ref: '#/components/schemas/typeColor'
                      description: color of banner
                    usageCount:
                      type:
                        - integer
                        - 'null'
                      minimum: 1
                      description: number of how many times can be discount used.
                      examples:
                        - 1000
                    sortBefore:
                      type: integer
                      description: >-
                        id of xy discount before which you want to move the xy
                        discount from the request. Not possible to use with
                        `sortAfter`.
                      examples:
                        - 1
                    sortAfter:
                      type: integer
                      description: >-
                        id of xy discount after which you want to move the  xy
                        discount from the request. Not possible to use with
                        `sortBefore`.
                      examples:
                        - 1
                    xTargeting:
                      $ref: '#/components/schemas/xyDiscountTargetingPostRequest'
                      description: definition of products needed to get discount
                    yTargeting:
                      $ref: '#/components/schemas/xyDiscountTargetingPostRequest'
                      description: definition of products get by discount
    delete:
      responses:
        '200':
          description: OK
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    type: 'null'
                  errors:
                    $ref: '#/components/schemas/Errors'
              example:
                data: null
                errors: null
        '404':
          description: Not Found
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    type: 'null'
                  errors:
                    $ref: '#/components/schemas/Errors'
              example:
                data: null
                errors:
                  - errorCode: xy-discount-not-found
                    message: X + Y discount with ID "1" not found.
                    instance: '1'
      summary: Delete of X + Y discount
      operationId: deleteXYDiscount
      description: ''
      tags:
        - XY discounts
      parameters:
        - name: id
          in: path
          description: discount ID
          required: true
          example: '1'
          schema:
            type: number
        - $ref: '#/components/parameters/DefaultContentType'
  /api/xy-discounts/settings:
    get:
      responses:
        '200':
          description: OK
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    required:
                      - combineWithLoyaltyDiscounts
                      - combineWithVolumeDiscounts
                      - combineWithQuantityDiscounts
                      - enableMultipleDiscounts
                      - categoryTargeting
                    additionalProperties: false
                    properties:
                      combineWithLoyaltyDiscounts:
                        type: boolean
                        description: X+Y Discount can be combined with loyalty discount
                        examples:
                          - true
                      combineWithVolumeDiscounts:
                        type: boolean
                        description: X+Y Discount can be combined with volume discount
                        examples:
                          - true
                      combineWithQuantityDiscounts:
                        type: boolean
                        description: X+Y Discount can be combined with quantity discount
                        examples:
                          - true
                      enableMultipleDiscounts:
                        type: boolean
                        description: Multiple X+Y discounts can be applied at once
                        examples:
                          - true
                      categoryTargeting:
                        enum:
                          - all-categories
                          - primary-category
                        description: Enum, discount category targeting
                        examples:
                          - all-categories
                      enableInCashdesk:
                        type: boolean
                        description: >-
                          Enable X+Y discounts in cashdesk, please note this
                          option is not present for HU eshops
                        examples:
                          - true
                  errors:
                    $ref: '#/components/schemas/Errors'
                required:
                  - data
                  - errors
                additionalProperties: false
      summary: X + Y discounts settings
      operationId: getXYDiscountsSettings
      description: >-
        Lists & updates settings of X + Y discounts.

        Please note, that `enableInCashdesk` setting is not supported on HU
        projects.
      tags:
        - XY discounts
      parameters:
        - $ref: '#/components/parameters/DefaultContentType'
    patch:
      responses:
        '200':
          description: OK
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    required:
                      - combineWithLoyaltyDiscounts
                      - combineWithVolumeDiscounts
                      - combineWithQuantityDiscounts
                      - enableMultipleDiscounts
                      - categoryTargeting
                    additionalProperties: false
                    properties:
                      combineWithLoyaltyDiscounts:
                        type: boolean
                        description: X+Y Discount can be combined with loyalty discount
                        examples:
                          - true
                      combineWithVolumeDiscounts:
                        type: boolean
                        description: X+Y Discount can be combined with volume discount
                        examples:
                          - true
                      combineWithQuantityDiscounts:
                        type: boolean
                        description: X+Y Discount can be combined with quantity discount
                        examples:
                          - true
                      enableMultipleDiscounts:
                        type: boolean
                        description: Multiple X+Y discounts can be applied at once
                        examples:
                          - true
                      categoryTargeting:
                        enum:
                          - all-categories
                          - primary-category
                        description: Enum, discount category targeting
                        examples:
                          - all-categories
                      enableInCashdesk:
                        type: boolean
                        description: >-
                          Enable X+Y discounts in cashdesk, please note this
                          option is not present for HU eshops
                        examples:
                          - true
                  errors:
                    $ref: '#/components/schemas/Errors'
        '422':
          description: Unprocessable Entity
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              example:
                data: null
                errors:
                  - errorCode: invalid-request-data
                    message: |-
                      Does not have a value in the enumeration
                      ["all-categories","primary-category",null]
                    instance: data.categoryTargeting
              schema:
                type: object
                properties:
                  data:
                    type: 'null'
                  errors:
                    $ref: '#/components/schemas/Errors'
                example:
                  data: null
                  errors:
                    - errorCode: invalid-request-data
                      message: |-
                        Does not have a value in the enumeration
                        ["all-categories","primary-category",null]
                      instance: data.categoryTargeting
      summary: X + Y discount settings update
      operationId: updateXYDiscountSettings
      description: |-
        Updates settings for X + Y discounts. All settings are optional, but at
        least one should be present.

        Please note, that updating "enableInCashdesk" setting on HU projects
        will throw an exception.


        If you're targeting a discount to a specific category, right now, we
        only include products that have

        that category as their primary one. If you want to include all products
        in that category in the discount,

        not just the ones in the primary category, please use
        `categoryTargeting` attribute with `all-categories` value.
      tags:
        - XY discounts
      requestBody:
        content:
          application/vnd.shoptet.v1.0+json:
            schema:
              type: object
              additionalProperties: false
              required:
                - data
              properties:
                data:
                  type: object
                  additionalProperties: false
                  properties:
                    combineWithLoyaltyDiscounts:
                      type: boolean
                      description: X+Y Discount can be combined with loyalty discount
                      examples:
                        - true
                    combineWithVolumeDiscounts:
                      type: boolean
                      description: X+Y Discount can be combined with volume discount
                      examples:
                        - true
                    combineWithQuantityDiscounts:
                      type: boolean
                      description: X+Y Discount can be combined with quantity discount
                      examples:
                        - true
                    enableMultipleDiscounts:
                      type: boolean
                      description: Multiple X+Y discounts can be applied at once
                      examples:
                        - true
                    categoryTargeting:
                      enum:
                        - all-categories
                        - primary-category
                      description: Enum, discount category targeting
                      examples:
                        - all-categories
                    enableInCashdesk:
                      type: boolean
                      description: >-
                        Enable X+Y discounts in cashdesk, please note this
                        option is not present for HU eshops
                      examples:
                        - true
      parameters:
        - $ref: '#/components/parameters/DefaultContentType'
  /api/quantity-discounts:
    get:
      responses:
        '200':
          description: OK
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    additionalProperties: false
                    required:
                      - discounts
                      - paginator
                    properties:
                      discounts:
                        type: array
                        items:
                          type: object
                          additionalProperties: false
                          required:
                            - id
                            - title
                            - validFrom
                            - validTo
                            - customerGroups
                            - priority
                            - includeUnregisteredCustomers
                            - status
                            - isActive
                          properties:
                            id:
                              type: integer
                              description: discount ID
                              examples:
                                - 1
                            title:
                              type: string
                              description: discount title
                              examples:
                                - 18 + 4 free
                            validFrom:
                              $ref: '#/components/schemas/typeDate'
                              description: date of discount validity from
                              examples:
                                - '2014-11-19'
                            validTo:
                              $ref: '#/components/schemas/typeDate'
                              description: date of discount validity to
                              examples:
                                - '2014-12-19'
                            customerGroups:
                              type:
                                - array
                                - 'null'
                              description: customer groups connected to discount
                              items:
                                type: object
                                additionalProperties: false
                                required:
                                  - code
                                  - name
                                properties:
                                  code:
                                    type: string
                                    description: customer group code
                                    examples:
                                      - retail
                                  name:
                                    type: string
                                    description: customer group name
                                    examples:
                                      - Retail customer
                            includeUnregisteredCustomers:
                              type: boolean
                              description: >-
                                defines if discount is valid for unregistered
                                customers, default value is `false`
                              examples:
                                - true
                            priority:
                              type:
                                - integer
                                - 'null'
                              description: priority of the discount
                              examples:
                                - 1
                            targetingLevel:
                              type: string
                              description: targeting level of the discount
                              enum:
                                - eshop
                                - product
                                - category
                                - brand
                              examples:
                                - eshop
                            status:
                              type: string
                              description: status of the discount
                              enum:
                                - available
                                - unavailable
                                - expired
                                - planned
                              examples:
                                - active
                            isActive:
                              type: boolean
                              description: >-
                                defines if discount is in active or inactive
                                stage
                              examples:
                                - true
                      paginator:
                        $ref: '#/components/schemas/paginator'
                  errors:
                    $ref: '#/components/schemas/Errors'
                required:
                  - data
                  - errors
                additionalProperties: false
      summary: List of quantity discounts
      operationId: getListOfQuantityDiscounts
      description: |-
        Returns a list of quantity discounts with basic info.
        Supports [paging](#section/basic-principles-of-working-with-api/Paging).
      tags:
        - Quantity discounts
      parameters:
        - name: customerGroupCode
          in: query
          description: >-
            customer group code, possible values can be get by customer group
            list endpoint
          example: retail
          schema:
            type: string
        - name: validFrom
          in: query
          description: date of discount validity - lower limit
          example: '2028-05-28'
          schema:
            type: string
        - name: validTo
          in: query
          description: date of discount validity - upper limit
          example: '2028-05-28'
          schema:
            type: string
        - name: status
          in: query
          description: >-
            status of discount, possible values are `available`, `unavailable`,
            `expired`, `planned`
          example: available
          schema:
            type: string
        - name: isActive
          in: query
          description: whether or not discount is active
          example: 'true'
          schema:
            type: boolean
        - name: includeUnregisteredCustomers
          in: query
          description: whether or not discount is valid for unregistered customers
          example: 'true'
          schema:
            type: boolean
        - $ref: '#/components/parameters/DefaultContentType'
    post:
      responses:
        '201':
          description: Created
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    additionalProperties: false
                    required:
                      - discount
                    properties:
                      discount:
                        $ref: '#/components/schemas/quantityDiscount'
                  errors:
                    $ref: '#/components/schemas/Errors'
                required:
                  - data
                  - errors
                additionalProperties: false
        '404':
          description: Not Found
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    type: 'null'
                  errors:
                    $ref: '#/components/schemas/Errors'
              example:
                data: null
                errors:
                  - errorCode: invalid-request-data
                    message: Quantity discount with ID "1" not found.
                    instance: data.sortAfter
      summary: Quantity discount insertion
      operationId: createQuantityDiscount
      description: ''
      tags:
        - Quantity discounts
      requestBody:
        content:
          application/vnd.shoptet.v1.0+json:
            schema:
              type: object
              additionalProperties: false
              required:
                - data
              properties:
                data:
                  type: object
                  required:
                    - title
                    - settings
                    - targetingLevel
                  additionalProperties: false
                  properties:
                    title:
                      type: string
                      minLength: 1
                      description: Discount title.
                      examples:
                        - 25% discount for order of 100 units or more
                    isActive:
                      type: boolean
                      description: >-
                        Whether or not is the discount active. If not set,
                        default value is `true`.
                      examples:
                        - true
                    validFrom:
                      $ref: '#/components/schemas/typeDate'
                      description: Date of discount validity from.
                      examples:
                        - '2014-11-19'
                    validTo:
                      $ref: '#/components/schemas/typeDate'
                      description: Date of discount validity to.
                      examples:
                        - '2014-12-19'
                    displayFlag:
                      type: boolean
                      description: >-
                        Whether or not to display flag. If not set, default
                        value is `true`.
                      examples:
                        - true
                    flagColor:
                      type:
                        - string
                        - 'null'
                      $ref: '#/components/schemas/typeColor'
                      description: >-
                        Color of the flag. If not set, default value is
                        `D00000`.
                    customerGroupCodes:
                      type:
                        - array
                        - 'null'
                      minItems: 1
                      uniqueItems: true
                      description: Customer groups connected to discount.
                      items:
                        type: string
                        examples:
                          - retail
                    includeUnregisteredCustomers:
                      type: boolean
                      description: >-
                        Defines if discount is valid for unregistered customers,
                        default value is `false`.
                      examples:
                        - true
                    targetingLevel:
                      type: string
                      description: Level of targeting.
                      enum:
                        - eshop
                        - product
                        - category
                        - brand
                      examples:
                        - eshop
                    targeting:
                      type:
                        - object
                        - 'null'
                      minProperties: 1
                      description: >-
                        Links the discount to the specific target/s. At least
                        one of the parameters needs to be specified.
                      properties:
                        productGuids:
                          type:
                            - array
                            - 'null'
                          minItems: 1
                          uniqueItems: true
                          description: Array of product guids.
                          items:
                            type: string
                            examples:
                              - 356eb81e-d966-11e0-b04f-57a43310b768
                        categoryGuids:
                          type:
                            - array
                            - 'null'
                          minItems: 1
                          uniqueItems: true
                          description: Array of category guids.
                          items:
                            type: string
                            examples:
                              - 07f7a4c1-d7b1-11e0-9a5c-feab5ed617ed
                        brandCodes:
                          type:
                            - array
                            - 'null'
                          minItems: 1
                          uniqueItems: true
                          description: Array of brand codes.
                          items:
                            type: string
                            examples:
                              - brand-1
                    settings:
                      type: array
                      minItems: 1
                      description: Settings of the discount.
                      items:
                        type: object
                        required:
                          - amountFrom
                          - discountType
                          - discountValue
                        additionalProperties: false
                        properties:
                          amountFrom:
                            type: integer
                            description: >-
                              Amount/quantity of items from which the discount
                              is applied.
                            examples:
                              - 2
                          discountType:
                            type: string
                            description: Type of the discount.
                            examples:
                              - percentual
                          discountValue:
                            oneOf:
                              - type: object
                                additionalProperties: false
                                required:
                                  - priceRatio
                                properties:
                                  priceRatio:
                                    type: number
                                    pattern: ^[0-1]+\.[0-9]{2}$
                                    description: >-
                                      Price ratio of the discount. Calculate as
                                      `(100 - percentage) / 100`. Round to 2
                                      decimal places.
                                    examples:
                                      - 0.85
                    sortBefore:
                      type: integer
                      description: >-
                        Id of discount before which you want to move the
                        discount from the request. Not possible to use with
                        `sortAfter`.
                      examples:
                        - 1
                    sortAfter:
                      type: integer
                      description: >-
                        Id of discount after which you want to move the discount
                        from the request. Not possible to use with `sortBefore`.
                      examples:
                        - 1
      parameters:
        - $ref: '#/components/parameters/DefaultContentType'
  /api/quantity-discounts/snapshot:
    get:
      responses:
        '202':
          description: Accepted
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    additionalProperties: false
                    required:
                      - jobId
                    properties:
                      jobId:
                        examples:
                          - ad24xod
                        description: token of job
                        type: string
                  errors:
                    $ref: '#/components/schemas/Errors'
      summary: List of all quantity discounts
      operationId: getListOfAllQuantityDiscounts
      description: >-
        Using this endpoint, you can get list of all quantity discounts with
        detailed info of each article 

        (like in Detail of quantity discount endpoint) asynchronously. 

        See how [Asynchronous
        requests](https://developers.shoptet.com/asynchronous-requests/) work on
        our developer's portal.

        Response will be in [jsonlines](https://jsonlines.org/) format with each
        discount taking one line of output file.

        One discount in response has the same format as in Detail of quantity
        discount endpoint response.

        Result file is compressed using GZIP.
      tags:
        - Quantity discounts
      parameters:
        - name: customerGroupCode
          in: query
          description: >-
            customer group code, possible values can be get by customer group
            list endpoint
          example: retail
          schema:
            type: string
        - name: validFrom
          in: query
          description: date of discount validity - lower limit
          example: '2028-05-28'
          schema:
            type: string
        - name: validTo
          in: query
          description: date of discount validity - upper limit
          example: '2028-05-28'
          schema:
            type: string
        - name: status
          in: query
          description: >-
            status of discount, possible values are `available`, `unavailable`,
            `expired`, `planned`
          example: available
          schema:
            type: string
        - name: isActive
          in: query
          description: whether or not discount is active
          example: 'true'
          schema:
            type: boolean
        - name: includeUnregisteredCustomers
          in: query
          description: whether or not discount is valid for unregistered customers
          example: 'true'
          schema:
            type: boolean
        - $ref: '#/components/parameters/DefaultContentType'
  /api/quantity-discounts/{id}:
    get:
      responses:
        '200':
          description: OK
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    additionalProperties: false
                    required:
                      - discount
                    properties:
                      discount:
                        $ref: '#/components/schemas/quantityDiscount'
                  errors:
                    $ref: '#/components/schemas/Errors'
                required:
                  - data
                  - errors
                additionalProperties: false
        '404':
          description: Not Found
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    type: 'null'
                  errors:
                    $ref: '#/components/schemas/Errors'
              example:
                data: null
                errors:
                  - errorCode: quantity-discount-not-found
                    message: Quantity discount with ID "1" not found.
                    instance: '1'
      summary: Detail of quantity discounts
      operationId: getDetailOfQuantityDiscounts
      description: ''
      tags:
        - Quantity discounts
      parameters:
        - name: id
          in: path
          description: discount ID
          required: true
          example: '1'
          schema:
            type: number
        - $ref: '#/components/parameters/DefaultContentType'
    patch:
      responses:
        '200':
          description: OK
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    additionalProperties: false
                    required:
                      - discount
                    properties:
                      discount:
                        $ref: '#/components/schemas/quantityDiscount'
                  errors:
                    $ref: '#/components/schemas/Errors'
        '404':
          description: Not Found
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    type: 'null'
                  errors:
                    $ref: '#/components/schemas/Errors'
              example:
                data: null
                errors:
                  - errorCode: quantity-discount-not-found
                    message: Quantity discount with ID "1" not found.
                    instance: '1'
      summary: Quantity discount update
      operationId: updateQuantityDiscount
      description: ''
      tags:
        - Quantity discounts
      parameters:
        - name: id
          in: path
          description: discount ID
          required: true
          example: '1'
          schema:
            type: number
        - $ref: '#/components/parameters/DefaultContentType'
      requestBody:
        content:
          application/vnd.shoptet.v1.0+json:
            schema:
              type: object
              additionalProperties: false
              required:
                - data
              properties:
                data:
                  type: object
                  minProperties: 1
                  additionalProperties: false
                  properties:
                    title:
                      type: string
                      minLength: 1
                      description: Discount title.
                      examples:
                        - 25% discount for order of 100 units or more
                    isActive:
                      type: boolean
                      description: >-
                        Whether or not is the discount active. If not set,
                        default value is `true`.
                      examples:
                        - true
                    validFrom:
                      $ref: '#/components/schemas/typeDate'
                      description: Date of discount validity from.
                      examples:
                        - '2014-11-19'
                    validTo:
                      $ref: '#/components/schemas/typeDate'
                      description: Date of discount validity to.
                      examples:
                        - '2014-12-19'
                    displayFlag:
                      type: boolean
                      description: >-
                        Whether or not to display flag. If not set, default
                        value is `true`.
                      examples:
                        - true
                    flagColor:
                      type:
                        - string
                        - 'null'
                      $ref: '#/components/schemas/typeColor'
                      description: >-
                        Color of the flag. If not set, default value is
                        `D00000`.
                    customerGroupCodes:
                      type:
                        - array
                        - 'null'
                      minItems: 1
                      uniqueItems: true
                      description: Customer groups connected to discount.
                      items:
                        type: string
                        examples:
                          - retail
                    includeUnregisteredCustomers:
                      type: boolean
                      description: >-
                        Defines if discount is valid for unregistered customers,
                        default value is `false`.
                      examples:
                        - true
                    targetingLevel:
                      type: string
                      description: Level of targeting.
                      enum:
                        - eshop
                        - product
                        - category
                        - brand
                      examples:
                        - eshop
                    targeting:
                      type:
                        - object
                        - 'null'
                      minProperties: 1
                      description: >-
                        Links the discount to the specific target/s. At least
                        one of the parameters needs to be specified.
                      properties:
                        productGuids:
                          type:
                            - array
                            - 'null'
                          minItems: 1
                          uniqueItems: true
                          description: Array of product guids.
                          items:
                            type: string
                            examples:
                              - 356eb81e-d966-11e0-b04f-57a43310b768
                        categoryGuids:
                          type:
                            - array
                            - 'null'
                          minItems: 1
                          uniqueItems: true
                          description: Array of category guids.
                          items:
                            type: string
                            examples:
                              - 07f7a4c1-d7b1-11e0-9a5c-feab5ed617ed
                        brandCodes:
                          type:
                            - array
                            - 'null'
                          minItems: 1
                          uniqueItems: true
                          description: Array of brand codes.
                          items:
                            type: string
                            examples:
                              - brand-1
                    settings:
                      type: array
                      minItems: 1
                      description: Settings of the discount.
                      items:
                        type: object
                        required:
                          - amountFrom
                          - discountType
                          - discountValue
                        additionalProperties: false
                        properties:
                          amountFrom:
                            type: integer
                            description: >-
                              Amount/quantity of items from which the discount
                              is applied.
                            examples:
                              - 2
                          discountType:
                            type: string
                            description: Type of the discount.
                            examples:
                              - percentual
                          discountValue:
                            oneOf:
                              - type: object
                                additionalProperties: false
                                required:
                                  - priceRatio
                                properties:
                                  priceRatio:
                                    type: number
                                    pattern: ^[0-1]+\.[0-9]{2}$
                                    description: >-
                                      Price ratio of the discount. Calculate as
                                      `(100 - percentage) / 100`. Round to 2
                                      decimal places.
                                    examples:
                                      - 0.85
                    sortBefore:
                      type: integer
                      description: >-
                        Id of discount before which you want to move the
                        discount from the request. Not possible to use with
                        `sortAfter`.
                      examples:
                        - 1
                    sortAfter:
                      type: integer
                      description: >-
                        Id of discount after which you want to move the discount
                        from the request. Not possible to use with `sortBefore`.
                      examples:
                        - 1
    delete:
      responses:
        '200':
          description: OK
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    type: 'null'
                  errors:
                    $ref: '#/components/schemas/Errors'
              example:
                data: null
                errors: null
        '404':
          description: Not Found
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    type: 'null'
                  errors:
                    $ref: '#/components/schemas/Errors'
              example:
                data: null
                errors:
                  - errorCode: quantity-discount-not-found
                    message: Quantity discount with ID "1" not found.
                    instance: '1'
                  - errorCode: quantity-discount-deletion-failed
                    message: Cannot delete quantity discount with id "1".
                    instance: '1'
      summary: Delete of quantity discount
      operationId: deleteQuantityDiscount
      description: ''
      tags:
        - Quantity discounts
      parameters:
        - name: id
          in: path
          description: discount ID
          required: true
          example: '1'
          schema:
            type: number
        - $ref: '#/components/parameters/DefaultContentType'
  /api/articles:
    get:
      responses:
        '200':
          description: OK
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    additionalProperties: false
                    required:
                      - articles
                      - paginator
                    properties:
                      articles:
                        type: array
                        items:
                          $ref: '#/components/schemas/articleList'
                      paginator:
                        $ref: '#/components/schemas/paginator'
                  errors:
                    $ref: '#/components/schemas/Errors'
                required:
                  - data
                  - errors
                additionalProperties: false
      summary: List of articles
      operationId: getListOfArticles
      description: |-
        Returns a list of articles with basic info. 
        Supports [paging](#section/basic-principles-of-working-with-api/Paging)
      tags:
        - Articles
      parameters:
        - $ref: '#/components/parameters/DefaultContentType'
    post:
      responses:
        '201':
          description: Created
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    required:
                      - article
                    additionalProperties: false
                    properties:
                      article:
                        $ref: '#/components/schemas/article'
                  errors:
                    $ref: '#/components/schemas/Errors'
                required:
                  - data
                  - errors
                additionalProperties: false
        '422':
          description: Unprocessable Entity
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    type:
                      - object
                      - 'null'
                  errors:
                    type: array
                    items:
                      type: object
                      properties:
                        errorCode:
                          type: string
                        message:
                          type: string
                        instance:
                          type: string
              example:
                data: null
                errors:
                  - errorCode: invalid-request-data
                    message: >-
                      The property sectionId is deprecated. Use defaultSectionId
                      instead.
                    instance: integration-call
                  - errorCode: invalid-request-data
                    message: >-
                      Invalid "defaultSectionId" value "123456789". Use
                      articles/sections endpoint to get a list of possible
                      values.
                    instance: integration-call
                  - errorCode: invalid-request-data
                    message: The property defaultSectionId is required
                    instance: integration-call
                  - errorCode: invalid-request-data
                    message: File image123.jpg does not exist in temp upload storage.
                    instance: data.sourceImageName
      summary: Insert of article
      operationId: createArticle
      description: Creates a new article.
      tags:
        - Articles
      requestBody:
        content:
          application/vnd.shoptet.v1.0+json:
            schema:
              type: object
              required:
                - data
              properties:
                data:
                  type: object
                  additionalProperties: false
                  oneOf:
                    - required:
                        - title
                        - sectionId
                    - required:
                        - title
                        - defaultSectionId
                  properties:
                    title:
                      type: string
                      description: Title of the article
                      examples:
                        - Test
                    language:
                      type: string
                      description: Language of the article
                      examples:
                        - cs
                    defaultSectionId:
                      type: number
                      description: Id of the section
                      examples:
                        - 682
                    sectionId:
                      type: number
                      description: Id of the section
                      examples:
                        - 682
                      deprecated: true
                    sectionIds:
                      type: array
                      description: Id of the section
                      minItems: 1
                      items:
                        type: number
                        examples:
                          - '682'
                    indexName:
                      type: string
                      description: ending part of article URL
                      examples:
                        - test
                    redirectUrl:
                      type:
                        - string
                        - 'null'
                      description: canonical URL for redirecting
                      examples:
                        - https://www.someurl.com
                    content:
                      type:
                        - string
                        - 'null'
                      description: Content of the article
                      examples:
                        - <p>Content of the article</p>
                    metaTitle:
                      type:
                        - string
                        - 'null'
                      description: Meta title of the article
                      examples:
                        - Test article
                    metaKeywords:
                      type:
                        - string
                        - 'null'
                      description: DEPRECATED - Keywords of the article
                      examples:
                        - test
                      deprecated: true
                    metaDescription:
                      type:
                        - string
                        - 'null'
                      description: Meta description of the article
                      examples:
                        - Test article
                    publishDate:
                      type:
                        - string
                        - 'null'
                      $ref: '#/components/schemas/typeDateTimeRequest'
                      description: >-
                        Date of publishing - test. Deprecation of required
                        timezone part of datetime, and will be removed in the
                        future
                    visible:
                      type: boolean
                      description: Flag whether the article is visible on web
                      examples:
                        - true
                    access:
                      enum:
                        - all
                        - logged-in
                        - logged-out
                      description: >-
                        Flag indicating, whether the article can be viewed by
                        everyone (value of the flag is: 'all'), by logged in
                        users only ('logged-in'), or by logged out users only
                        ('logged-out')
                      examples:
                        - logged-in
                    sourceImageName:
                      type:
                        - string
                        - 'null'
                      $ref: '#/components/schemas/typeFilename'
                      description: >-
                        Name of file in [API upload
                        storage](#section/basic-principles-of-working-with-api/files)
                        to be set as article image. When set to null, image will
                        be removed.
                      examples:
                        - image.png
                    sourceOgImageName:
                      type:
                        - string
                        - 'null'
                      $ref: '#/components/schemas/typeFilename'
                      description: >-
                        Name of file in [API upload
                        storage](#section/basic-principles-of-working-with-api/files)
                        to be set as article open-graph image. When set to null,
                        image will be removed.
                      examples:
                        - image.png
      parameters:
        - $ref: '#/components/parameters/DefaultContentType'
  /api/articles/snapshot:
    get:
      responses:
        '202':
          description: Accepted
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    additionalProperties: false
                    required:
                      - jobId
                    properties:
                      jobId:
                        examples:
                          - ad24xod
                        description: token of job
                        type: string
                  errors:
                    $ref: '#/components/schemas/Errors'
      summary: List of all articles
      operationId: getListAllArticles
      description: >-
        Using this endpoint, you can get list of all articles with detailed info
        of each article 

        (like in Detail of article endpoint) asynchronously. 

        See how [Asynchronous
        requests](https://developers.shoptet.com/asynchronous-requests/) work on
        our

        developer's portal.



        Response will be in [jsonlines](https://jsonlines.org/) format with each
        product taking one line of output file.

        One article in response has the same format as article detail response.



        Result file is compressed using GZIP.
      tags:
        - Articles
      parameters:
        - name: idFrom
          in: query
          description: Export articles with id bigger or equal than given value
          example: '1'
          schema:
            type: number
        - name: idTo
          in: query
          description: Export articles with id lower or equal than given value
          example: '10'
          schema:
            type: number
        - name: articleLanguage
          in: query
          description: Export articles written in given language
          example: cs
          schema:
            type: string
        - name: publishDateFrom
          in: query
          description: Export articles published after given datetime
          example: 2014-09-05T00:00:00%2B0000
          schema:
            type: string
        - name: publishDateTo
          in: query
          description: Export articles published before given datetime
          example: 2014-11-05T00:00:00%2B0000
          schema:
            type: string
        - name: changeDateFrom
          in: query
          description: Export articles updated after given datetime
          example: 2014-09-05T00:00:00%2B0000
          schema:
            type: string
        - name: changeDateTo
          in: query
          description: Export articles updated before given datetime
          example: 2014-11-05T00:00:00%2B0000
          schema:
            type: string
        - name: visible
          in: query
          description: Filtering according to document visibility
          example: 'true'
          schema:
            type: boolean
        - $ref: '#/components/parameters/DefaultContentType'
  /api/articles/{articleId}:
    get:
      responses:
        '200':
          description: OK
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    required:
                      - article
                    additionalProperties: false
                    properties:
                      article:
                        $ref: '#/components/schemas/article'
                  errors:
                    $ref: '#/components/schemas/Errors'
                required:
                  - data
                  - errors
                additionalProperties: false
      summary: Detail of article
      operationId: getDetailOfArticle
      description: Returns a detail of the article.
      parameters:
        - name: articleId
          in: path
          description: article ID
          required: true
          example: '1'
          schema:
            type: number
        - $ref: '#/components/parameters/DefaultContentType'
      tags:
        - Articles
    patch:
      responses:
        '200':
          description: OK
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    required:
                      - article
                    additionalProperties: false
                    properties:
                      article:
                        $ref: '#/components/schemas/article'
                  errors:
                    $ref: '#/components/schemas/Errors'
                required:
                  - data
                  - errors
                additionalProperties: false
        '422':
          description: Unprocessable Entity
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    type:
                      - object
                      - 'null'
                  errors:
                    type: array
                    items:
                      type: object
                      properties:
                        errorCode:
                          type: string
                        message:
                          type: string
                        instance:
                          type: string
              example:
                data: null
                errors:
                  - errorCode: invalid-request-data
                    message: >-
                      The property sectionId is deprecated. Use defaultSectionId
                      instead.
                    instance: integration-call
                  - errorCode: invalid-request-data
                    message: >-
                      Invalid "defaultSectionId" value "123456789". Use
                      articles/sections endpoint to get a list of possible
                      values.
                    instance: integration-call
                  - errorCode: invalid-request-data
                    message: The property defaultSectionId is required
                    instance: integration-call
                  - errorCode: invalid-request-data
                    message: File image123.jpg does not exist in temp upload storage.
                    instance: data.sourceImageName
      summary: Update of article
      operationId: updateArticle
      description: Updates the article.
      parameters:
        - name: articleId
          in: path
          description: article ID
          required: true
          example: '1'
          schema:
            type: number
        - $ref: '#/components/parameters/DefaultContentType'
      tags:
        - Articles
      requestBody:
        content:
          application/vnd.shoptet.v1.0+json:
            schema:
              type: object
              required:
                - data
              properties:
                data:
                  type: object
                  additionalProperties: false
                  minProperties: 1
                  properties:
                    title:
                      type: string
                      description: Title of the article
                      examples:
                        - Test
                    language:
                      type: string
                      description: Language of the article
                      examples:
                        - cs
                    defaultSectionId:
                      type: number
                      description: Id of the section
                      examples:
                        - 682
                    sectionId:
                      type: number
                      description: Id of the section. Use defaultSectionId instead
                      examples:
                        - 682
                      deprecated: true
                    sectionIds:
                      type: array
                      description: Id of the section
                      minItems: 1
                      items:
                        type: number
                        examples:
                          - '682'
                    indexName:
                      type: string
                      description: ending part of article URL
                      examples:
                        - test
                    redirectUrl:
                      type:
                        - string
                        - 'null'
                      description: canonical URL for redirecting
                      examples:
                        - https://www.someurl.com
                    content:
                      type:
                        - string
                        - 'null'
                      description: Content of the article
                      examples:
                        - <p>Content of the article</p>
                    metaTitle:
                      type:
                        - string
                        - 'null'
                      description: Meta title of the article
                      examples:
                        - Test article
                    metaKeywords:
                      type:
                        - string
                        - 'null'
                      description: DEPRECATED - Keywords of the article
                      examples:
                        - test
                      deprecated: true
                    metaDescription:
                      type:
                        - string
                        - 'null'
                      description: Meta description of the article
                      examples:
                        - Test article
                    publishDate:
                      type:
                        - string
                        - 'null'
                      $ref: '#/components/schemas/typeDateTimeRequest'
                      description: >-
                        Date of publishing. Deprecation of required timezone
                        part of datetime, and will be removed in the future
                    visible:
                      type: boolean
                      description: Flag whether the article is visible on web
                      examples:
                        - true
                    access:
                      enum:
                        - all
                        - logged-in
                        - logged-out
                      description: >-
                        Flag indicating, whether the article can be viewed by
                        everyone (value of the flag is: 'all'), by logged in
                        users only ('logged-in'), or by logged out users only
                        ('logged-out')
                      examples:
                        - logged-in
                    sourceImageName:
                      type:
                        - string
                        - 'null'
                      $ref: '#/components/schemas/typeFilename'
                      description: >-
                        Name of file in [API upload
                        storage](#section/basic-principles-of-working-with-api/files)
                        to be set as article image. When set to null, image will
                        be removed.
                      examples:
                        - image.png
                    sourceOgImageName:
                      type:
                        - string
                        - 'null'
                      $ref: '#/components/schemas/typeFilename'
                      description: >-
                        Name of file in [API upload
                        storage](#section/basic-principles-of-working-with-api/files)
                        to be set as article open-graph image. When set to null,
                        image will be removed.
                      examples:
                        - image.png
    delete:
      responses:
        '200':
          description: OK
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    type: 'null'
                    additionalProperties: false
                  errors:
                    $ref: '#/components/schemas/Errors'
                required:
                  - data
                  - errors
                additionalProperties: false
      summary: Delete of article
      operationId: deleteArticle
      description: Deletes the article.
      parameters:
        - name: articleId
          in: path
          description: article ID
          required: true
          example: '1'
          schema:
            type: number
        - $ref: '#/components/parameters/DefaultContentType'
      tags:
        - Articles
  /api/articles/sections:
    get:
      responses:
        '200':
          description: OK
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    additionalProperties: false
                    required:
                      - sections
                    properties:
                      sections:
                        type: array
                        items:
                          $ref: '#/components/schemas/articleSectionList'
                  errors:
                    $ref: '#/components/schemas/Errors'
                required:
                  - data
                  - errors
                additionalProperties: false
      summary: List of article sections
      operationId: getListOfArticleSections
      description: Returns a list of article sections.
      tags:
        - Articles
    post:
      responses:
        '201':
          description: Created
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    required:
                      - articleSection
                    additionalProperties: false
                    properties:
                      articleSection:
                        $ref: '#/components/schemas/articleSection'
                  errors:
                    $ref: '#/components/schemas/Errors'
                required:
                  - data
                  - errors
                additionalProperties: false
        '422':
          description: Unprocessable Entity
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    type:
                      - object
                      - 'null'
                  errors:
                    type: array
                    items:
                      type: object
                      properties:
                        errorCode:
                          type: string
                        message:
                          type: string
                        instance:
                          type: string
              example:
                data: null
                errors:
                  - errorCode: invalid-request-data
                    message: Parent section does not exist.
                    instance: integration-call
                  - errorCode: invalid-request-data
                    message: The property title is required
                    instance: integration-call
      summary: Insert of article section
      operationId: createArticleSection
      description: Creates a new article section.
      tags:
        - Articles
      requestBody:
        content:
          application/vnd.shoptet.v1.0+json:
            schema:
              type: object
              required:
                - data
              properties:
                data:
                  type: object
                  additionalProperties: false
                  minProperties: 1
                  required:
                    - title
                  properties:
                    title:
                      type: string
                      description: article section title
                      examples:
                        - Test
                    language:
                      type: string
                      description: article section language
                      examples:
                        - cs
                    parentId:
                      type:
                        - number
                        - 'null'
                      description: ID of the parent article section
                      examples:
                        - '1'
                    indexName:
                      type:
                        - string
                        - 'null'
                      description: ending part of article section URL
                      examples:
                        - new-article
                    description:
                      type:
                        - string
                        - 'null'
                      description: article section content
                      examples:
                        - <p>Content of the article section</p>
                    secondDescription:
                      type:
                        - string
                        - 'null'
                      description: article section second content
                      examples:
                        - <p>Content of the second article section</p>
                    limit:
                      type:
                        - number
                        - 'null'
                      description: Number of articles displayed in the listing
                      examples:
                        - 4
                    homepageLimit:
                      type:
                        - number
                        - 'null'
                      description: Number of articles displayed on the homepage
                      examples:
                        - 4
                    sorting:
                      enum:
                        - alphabetically
                        - newest-first
                        - oldest-first
                      description: Article sorting in the listing
                      examples:
                        - alphabetically
                    perexLimit:
                      type:
                        - number
                        - 'null'
                      description: Number of character displayed in the article perex
                      examples:
                        - 100
                    hidePublishDate:
                      type: boolean
                      description: Hide article publish date in the listing
                      examples:
                        - false
                    showPrevNext:
                      type: boolean
                      description: Show next/previous buttons in the listing
                      examples:
                        - true
                    showOnHomepage:
                      type: boolean
                      description: Show articles on the homepage
                      examples:
                        - false
                    linkText:
                      type:
                        - string
                        - 'null'
                      description: Link text (in the menu)
                      examples:
                        - Test articles
                    metaTitle:
                      type:
                        - string
                        - 'null'
                      description: article meta title
                      examples:
                        - Test articles
                    metaDescription:
                      type:
                        - string
                        - 'null'
                      description: article meta description
                      examples:
                        - Test articles
                    visible:
                      type: boolean
                      description: flag whether the article section is visible on web
                      examples:
                        - true
                    access:
                      enum:
                        - all
                        - logged-in
                        - logged-out
                      description: >-
                        flag indicating, whether the article section can be
                        viewed by everyone (value of the flag is: `all`), by
                        logged in users only ('logged-in'), or by logged out
                        users only ('logged-out')
                      examples:
                        - logged-in
      parameters:
        - $ref: '#/components/parameters/DefaultContentType'
  /api/articles/sections/{articleSectionId}:
    get:
      responses:
        '200':
          description: OK
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    required:
                      - articleSection
                    additionalProperties: false
                    properties:
                      articleSection:
                        $ref: '#/components/schemas/articleSection'
                  errors:
                    $ref: '#/components/schemas/Errors'
                required:
                  - data
                  - errors
                additionalProperties: false
        '404':
          description: Not Found
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    type: 'null'
                  errors:
                    $ref: '#/components/schemas/Errors'
              example:
                data: null
                errors:
                  - errorCode: article-section-not-found
                    message: Article section with ID "123" not found.
                    instance: '123'
      summary: Detail of article section
      operationId: getDetailOfArticleSection
      description: Returns a detail of the article section.
      tags:
        - Articles
      parameters:
        - name: articleSectionId
          in: path
          description: article section ID
          required: true
          example: '1'
          schema:
            type: number
        - $ref: '#/components/parameters/DefaultContentType'
    patch:
      responses:
        '200':
          description: OK
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    required:
                      - article
                    additionalProperties: false
                    properties:
                      article:
                        $ref: '#/components/schemas/article'
                  errors:
                    $ref: '#/components/schemas/Errors'
                required:
                  - data
                  - errors
                additionalProperties: false
        '404':
          description: Not Found
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    type: 'null'
                  errors:
                    $ref: '#/components/schemas/Errors'
              example:
                data: null
                errors:
                  - errorCode: article-section-not-found
                    message: Article section with ID "123" not found.
                    instance: '123'
      summary: Update of article section
      operationId: updateArticleSection
      description: Updates the article section.
      parameters:
        - name: articleSectionId
          in: path
          description: article section ID
          required: true
          example: '123'
          schema:
            type: number
        - $ref: '#/components/parameters/DefaultContentType'
      tags:
        - Articles
      requestBody:
        content:
          application/vnd.shoptet.v1.0+json:
            schema:
              type: object
              required:
                - data
              properties:
                data:
                  type: object
                  additionalProperties: false
                  minProperties: 1
                  properties:
                    title:
                      type: string
                      description: article section title
                      examples:
                        - Test
                    language:
                      type: string
                      description: article section language
                      examples:
                        - cs
                    indexName:
                      type:
                        - string
                        - 'null'
                      description: ending part of article section URL
                      examples:
                        - new-article
                    description:
                      type:
                        - string
                        - 'null'
                      description: article section content
                      examples:
                        - <p>Content of the article section</p>
                    secondDescription:
                      type:
                        - string
                        - 'null'
                      description: article section second content
                      examples:
                        - <p>Content of the second article section</p>
                    limit:
                      type:
                        - number
                        - 'null'
                      description: Number of articles displayed in the listing
                      examples:
                        - 4
                    homepageLimit:
                      type:
                        - number
                        - 'null'
                      description: Number of articles displayed on the homepage
                      examples:
                        - 4
                    sorting:
                      enum:
                        - alphabetically
                        - newest-first
                        - oldest-first
                      description: Article sorting in the listing
                      examples:
                        - alphabetically
                    perexLimit:
                      type:
                        - number
                        - 'null'
                      description: Number of character displayed in the article perex
                      examples:
                        - 100
                    hidePublishDate:
                      type: boolean
                      description: Hide article publish date in the listing
                      examples:
                        - false
                    showPrevNext:
                      type: boolean
                      description: Show next/previous buttons in the listing
                      examples:
                        - true
                    showOnHomepage:
                      type: boolean
                      description: Show articles on the homepage
                      examples:
                        - false
                    linkText:
                      type:
                        - string
                        - 'null'
                      description: Link text (in the menu)
                      examples:
                        - Test articles
                    metaTitle:
                      type:
                        - string
                        - 'null'
                      description: article meta title
                      examples:
                        - Test articles
                    metaDescription:
                      type:
                        - string
                        - 'null'
                      description: article meta description
                      examples:
                        - Test articles
                    visible:
                      type: boolean
                      description: flag whether the article section is visible on web
                      examples:
                        - true
                    access:
                      enum:
                        - all
                        - logged-in
                        - logged-out
                      description: >-
                        flag indicating, whether the article section can be
                        viewed by everyone (value of the flag is: `all`), by
                        logged in users only ('logged-in'), or by logged out
                        users only ('logged-out')
                      examples:
                        - logged-in
    delete:
      responses:
        '200':
          description: OK
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    type: 'null'
                    additionalProperties: false
                  errors:
                    $ref: '#/components/schemas/Errors'
                required:
                  - data
                  - errors
                additionalProperties: false
        '404':
          description: Not Found
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              example:
                data: null
                errors:
                  - errorCode: article-section-not-found
                    message: Article section with ID "123" not found.
                    instance: '123'
              schema:
                type: object
                properties:
                  data:
                    type: 'null'
                  errors:
                    $ref: '#/components/schemas/Errors'
        '409':
          description: Conflict
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              example:
                data: null
                errors:
                  - errorCode: article-section-contains-articles
                    message: >-
                      Article section "683" cannot be deleted, because it
                      contains 4 article(s) that would be deleted.
                    instance: '683'
              schema:
                type: object
                properties:
                  data:
                    type: 'null'
                  errors:
                    $ref: '#/components/schemas/Errors'
      summary: Deletion of article section
      operationId: deleteArticleSection
      description: >-
        If the article section cannot be deleted, because it contains
        article(s), a

        409 code is returned.


        Optional parameter `force` with `true` value allows deletion of article
        section including permanent deletion of

        article(s) having this section set as default.
      tags:
        - Articles
      parameters:
        - name: articleSectionId
          in: path
          description: article section ID
          required: true
          example: '1'
          schema:
            type: number
        - name: force
          in: query
          description: >-
            allows deletion of article section that contains article(s) if set
            to `true`
          required: false
          example: 'true'
          schema:
            type: boolean
            default: 'false'
        - $ref: '#/components/parameters/DefaultContentType'
  /api/pages:
    get:
      responses:
        '200':
          description: OK
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    additionalProperties: false
                    required:
                      - pages
                      - paginator
                    properties:
                      pages:
                        type: array
                        items:
                          $ref: '#/components/schemas/pageList'
                      paginator:
                        $ref: '#/components/schemas/paginator'
                  errors:
                    $ref: '#/components/schemas/Errors'
                required:
                  - data
                  - errors
                additionalProperties: false
      summary: List of pages
      operationId: getListOfPages
      description: Returns a list of pages.
      tags:
        - Pages
      parameters:
        - $ref: '#/components/parameters/DefaultContentType'
  /api/pages/{pageId}:
    get:
      responses:
        '200':
          description: OK
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    required:
                      - page
                    additionalProperties: false
                    properties:
                      page:
                        $ref: '#/components/schemas/page'
                  errors:
                    $ref: '#/components/schemas/Errors'
                required:
                  - data
                  - errors
                additionalProperties: false
      summary: Detail of page
      operationId: getDetailOfPage
      description: Returns a detail of the page.
      parameters:
        - name: pageId
          in: path
          description: page ID
          required: true
          example: '1'
          schema:
            type: number
        - $ref: '#/components/parameters/DefaultContentType'
      tags:
        - Pages
  /api/discussions-posts:
    get:
      responses:
        '200':
          description: OK
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    required:
                      - discussion
                      - paginator
                    additionalProperties: false
                    properties:
                      discussion:
                        type: array
                        items:
                          $ref: '#/components/schemas/discussionPost'
                      paginator:
                        $ref: '#/components/schemas/paginator'
                  errors:
                    $ref: '#/components/schemas/Errors'
                required:
                  - data
                  - errors
                additionalProperties: false
      summary: List of discussion posts
      operationId: getListOfDiscussionPosts
      description: >-
        List of discussion posts, filterable by product GUID, author's e-mail
        and creation date.
      tags:
        - Discussions
      parameters:
        - name: productGuid
          in: query
          description: guid of the product associated to discussion
          example: 356eb81e-d966-11e0-b04f-57a43310b768
          schema:
            type: string
        - name: userEmail
          in: query
          description: e-mail of the post's author
          example: john.doe@example.com
          schema:
            type: string
        - name: creationDateFrom
          in: query
          description: date and time of the post creation - lower limit
          example: '2022-12-24T16:00:00+02:00'
          schema:
            type: string
        - name: creationDateTo
          in: query
          description: date and time of the post creation - upper limit
          example: '2022-12-31T23:59:59+02:00'
          schema:
            type: string
        - $ref: '#/components/parameters/DefaultContentType'
  /api/system/jobs:
    get:
      responses:
        '200':
          description: OK
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    additionalProperties: false
                    required:
                      - jobs
                      - paginator
                    properties:
                      jobs:
                        type: array
                        items:
                          type: object
                          additionalProperties: false
                          required:
                            - jobId
                            - endpoint
                            - creationTime
                            - completionTime
                            - status
                            - validUntil
                            - language
                          properties:
                            jobId:
                              type: string
                              description: job unique code.
                              examples:
                                - 3ax1844
                            endpoint:
                              type: string
                              description: called endpoint by service
                              examples:
                                - /api/products/images
                            creationTime:
                              $ref: '#/components/schemas/typeDateTime'
                              description: time of job creation
                            completionTime:
                              type:
                                - string
                                - 'null'
                              $ref: '#/components/schemas/typeDateTime'
                              description: time of job completion
                            status:
                              type: string
                              description: job status
                              examples:
                                - completed
                            validUntil:
                              type:
                                - string
                                - 'null'
                              $ref: '#/components/schemas/typeDateTime'
                              description: validity of job result
                            language:
                              type:
                                - string
                                - 'null'
                              examples:
                                - cs
                      paginator:
                        $ref: '#/components/schemas/paginator'
                  errors:
                    $ref: '#/components/schemas/Errors'
                required:
                  - data
                  - errors
                additionalProperties: false
      summary: List of jobs
      operationId: getListOfJobs
      description: >-
        List of jobs in queue. Using the "status" parameter to filter by
        completed|pending|running|failed|expired|killed. 

        Without this filter it will show all statuses. Also you can filter
        results depends on time of creation and completion.
      tags:
        - Job endpoints
      parameters:
        - name: status
          in: query
          description: |-
            supported values: `completed`, `pending`, `running`, `failed`,
            `expired`, `killed`
          example: completed
          schema:
            type: string
        - name: creationTimeFrom
          in: query
          description: date and time of job creation - lower limit
          example: '2018-05-28T14:17:00+02:00'
          schema:
            type: string
        - name: completionTimeFrom
          in: query
          description: date and time of job completion - lower limit
          example: '2018-05-28T14:17:00+02:00'
          schema:
            type: string
        - $ref: '#/components/parameters/DefaultContentType'
  /api/system/jobs/{jobId}:
    get:
      responses:
        '200':
          description: OK
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    additionalProperties: false
                    required:
                      - job
                    properties:
                      job:
                        type: object
                        additionalProperties: false
                        required:
                          - jobId
                          - endpoint
                          - creationTime
                          - completionTime
                          - duration
                          - status
                          - resultUrl
                          - log
                          - validUntil
                          - language
                        properties:
                          jobId:
                            type: string
                            description: job unique code.
                            examples:
                              - 3ax1844
                          endpoint:
                            type: string
                            description: called endpoint by service
                            examples:
                              - /api/products/images
                          creationTime:
                            $ref: '#/components/schemas/typeDateTime'
                            description: time of job creation
                          completionTime:
                            type:
                              - string
                              - 'null'
                            $ref: '#/components/schemas/typeDateTime'
                            description: time of job completion
                          duration:
                            type:
                              - string
                              - 'null'
                            description: duration of job in seconds with ms
                            examples:
                              - '20.123'
                          status:
                            type: string
                            description: job status
                            examples:
                              - completed
                          resultUrl:
                            type:
                              - string
                              - 'null'
                            description: URL to the result of the job
                            examples:
                              - >-
                                https://eshop.domain.com/api-results/3ax1844-lrmsrf0.json
                          validUntil:
                            type:
                              - string
                              - 'null'
                            $ref: '#/components/schemas/typeDateTime'
                            description: validity of job result
                          log:
                            type:
                              - string
                              - 'null'
                            description: content of log produced by job processing
                            examples:
                              - Some really long text
                          language:
                            type:
                              - string
                              - 'null'
                            examples:
                              - cs
                  errors:
                    $ref: '#/components/schemas/Errors'
                required:
                  - data
                  - errors
                additionalProperties: false
        '403':
          description: Forbidden
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    type: 'null'
                  errors:
                    $ref: '#/components/schemas/Errors'
              example:
                data: null
                errors:
                  - errorCode: job-detail-try-counter-exceeded-limit
                    message: |-
                      You have exceeded the limit of job detail request for
                      unprocessed job "1xv8s4c". Please wait for job:finished
                      event after job is completed!
                    instance: 1xv8s4c
        '404':
          description: Not Found
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    type: 'null'
                  errors:
                    $ref: '#/components/schemas/Errors'
              example:
                data: null
                errors:
                  - errorCode: job-not-found
                    message: Job with ID "1xv8s4c" not found.
                    instance: 1xv8s4c
      summary: Job detail
      operationId: getJobDetail
      description: |-
        Returns information about job. If job is completed, it will contain
        additional information about job result.


        Returns 404 if job does not exist.

        Returns 403 response if job detail of unprocessed job is requested more
        than 10 times.
      tags:
        - Job endpoints
      parameters:
        - name: jobId
          in: path
          description: ''
          required: true
          example: 3ax1844
          schema:
            type: string
        - $ref: '#/components/parameters/DefaultContentType'
  /api/system/files:
    get:
      responses:
        '200':
          description: OK
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    additionalProperties: false
                    required:
                      - images
                    properties:
                      images:
                        type: array
                        items:
                          type: object
                          additionalProperties: false
                          properties:
                            name:
                              type: string
                              description: filename of uploaded file
                              examples:
                                - image.jpg
                            created:
                              $ref: '#/components/schemas/typeDateTime'
                              description: datetime when file was uploaded
                  errors:
                    $ref: '#/components/schemas/Errors'
                required:
                  - data
                  - errors
                additionalProperties: false
      summary: List of uploaded files
      operationId: getListOfUploadedFiles
      description: |-
        Retrieves your uploaded files that can be copied in supported endpoints
        to entities within e-shop.
      tags:
        - Files
      parameters:
        - $ref: '#/components/parameters/DefaultContentType'
    post:
      responses:
        '202':
          description: Accepted
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    additionalProperties: false
                    required:
                      - jobId
                    properties:
                      jobId:
                        examples:
                          - ad24xod
                        description: token of job
                        type: string
                  errors:
                    $ref: '#/components/schemas/Errors'
                required:
                  - data
                  - errors
                additionalProperties: false
      summary: Batch files upload
      operationId: uploadFiles
      description: >-
        **This endpoint has been only renamed from "File upload" after we
        created

        new synchronous endpoint one file upload. Url and structure is
        unchanged**


        Performs file upload asynchronously.


        Please note that order of files matter (result of job respects the order

        of images in request).



        In case of specifying filename, keep in mind that extension is checked

        whether it respects file type.



        The result can be found in job detail in `resultUrl`. The result is

        formed as normal API response:



        ```


        {
            "data": {
                "images":[
                    {
                        "index": 0,
                        "md5": "072c1a2005e17dcd3a3cca3d2c769264",
                        "name": "kocka.png",
                        "created": "2023-01-16T13:19:32+0100",
                        "sourceUrl": "https://example.com/image.png"
                    }
                ]
            },
            "errors": [
                {
                    "errorCode": "file-upload-extension-mismatch",
                    "message": "File extension png mismatch mime type image\/jpeg of uploaded file (correct should be jpg).",
                    "instance": "data[1]"
                }
            ]
        }


        ```



        In the result's `images` section, there are successfully uploaded images

        with their info and with `index` field which is order of the image in

        the request (0-based indexing).



        In the result's `errors` section, there are errors which occurred during

        some images upload and with number in brackets in `data[0]` in

        `instance`, which is order of the image in the request (0-based

        indexing).



        See more about file upload in the [files section of

        documentation](#section/Basic-principles-of-working-with-API/Files)



        See how [Asynchronous

        requests](https://developers.shoptet.com/asynchronous-requests/) work on

        our developer's portal.



        Currently maximum of 50 files can be uploaded in one request. Current

        filesize limit per file is 2MB.
      tags:
        - Files
      requestBody:
        content:
          application/vnd.shoptet.v1.0+json:
            schema:
              type: object
              additionalProperties: false
              required:
                - data
              properties:
                data:
                  type: array
                  minItems: 1
                  maxItems: 50
                  items:
                    type: object
                    additionalProperties: false
                    required:
                      - sourceUrl
                    properties:
                      sourceUrl:
                        type: string
                        description: source URL of the image you want to upload.
                        examples:
                          - https://example.com/file.png
                      name:
                        $ref: '#/components/schemas/typeFilename'
                        description: >-
                          desired filename for the file to be saved as. May be
                          suffixed with number in case of duplication. Generated
                          when not set.
                        examples:
                          - amazing-file
      parameters:
        - $ref: '#/components/parameters/DefaultContentType'
  /api/system/file:
    post:
      responses:
        '201':
          description: Created
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    additionalProperties: false
                    required:
                      - image
                    properties:
                      image:
                        type: object
                        additionalProperties: false
                        required:
                          - name
                        properties:
                          name:
                            type: string
                            description: >-
                              filename of saved file, used for assign file in
                              'source*' parameters.
                            examples:
                              - file.png
                          created:
                            $ref: '#/components/schemas/typeDateTime'
                            description: datetime when file was uploaded
                  errors:
                    $ref: '#/components/schemas/Errors'
                required:
                  - data
                  - errors
                additionalProperties: false
        '422':
          description: Unprocessable Entity
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    type: 'null'
                  errors:
                    $ref: '#/components/schemas/Errors'
              examples:
                invalid-name:
                  value:
                    data: null
                    errors:
                      - errorCode: invalid-request-data
                        message: Does not match the regex pattern ^[0-9a-zA-Z\\-.]+$
                        instance: data.name
        '500':
          description: Internal Server Error
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    type: 'null'
                  errors:
                    $ref: '#/components/schemas/Errors'
              examples:
                file-upload-error:
                  value:
                    data: null
                    errors:
                      - errorCode: file-upload-error
                        message: File upload failed.
                        instance: payload
                file-upload-extension-mismatch:
                  value:
                    data: null
                    errors:
                      - errorCode: file-upload-extension-mismatch
                        message: >-
                          File extension jpg mismatch mime type image/png of
                          uploaded file (correct should be png).
                        instance: payload
                file-upload-size-limit:
                  value:
                    data: null
                    errors:
                      - errorCode: file-upload-size-limit
                        message: Uploaded file size limit exceeded. Limit is 2 MB.
                        instance: payload
                file-upload-invalid-type:
                  value:
                    data: null
                    errors:
                      - errorCode: file-upload-invalid-type
                        message: Unsupported filetype.
                        instance: payload
      summary: File upload
      operationId: uploadFile
      description: >-
        **This is new endpoint - older asynchronous endpoint has been only
        renamed

        to "Batch files upload" in documentation, url and structure is
        unchanged**


        **Please, do not use this endpoint for batch file upload!**


        Performs one file upload synchronously in same way as asynchronous
        files 

        upload.



        In the result's `image` section, there are successfully uploaded image

        with current unique name and upload datetime.



        See more about file upload in the [files section of

        documentation](#section/Basic-principles-of-working-with-API/Files)



        Current filesize limit is 2MB.
      tags:
        - Files
      requestBody:
        content:
          application/vnd.shoptet.v1.0+json:
            schema:
              type: object
              additionalProperties: false
              required:
                - data
              properties:
                data:
                  type: object
                  additionalProperties: false
                  required:
                    - sourceUrl
                  properties:
                    sourceUrl:
                      type: string
                      description: source URL of the image you want to upload.
                      examples:
                        - https://example.com/file.png
                    name:
                      $ref: '#/components/schemas/typeFilename'
                      description: >-
                        desired filename for the file to be saved as. May be
                        suffixed with number in case of duplication. Generated
                        when not set.
                      examples:
                        - amazing-file
      parameters:
        - $ref: '#/components/parameters/DefaultContentType'
  /api/system/endpoints:
    get:
      responses:
        '200':
          description: OK
          content:
            application/vnd.shoptet.v1.0+json; charset=utf-8:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    additionalProperties: false
                    required:
                      - endpoints
                    properties:
                      endpoints:
                        type: array
                        items:
                          type: object
                          additionalProperties: false
                          required:
                            - endpoint
                            - description
                            - group
                            - access
                            - action
                          properties:
                            endpoint:
                              type: string
                              description: endpoint identifier
                              examples:
                                - orders
                            description:
                              type: string
                              description: localized endpoint name
                              examples:
                                - List of orders
                            group:
                              type: object
                              additionalProperties: false
                              required:
                                - id
                                - description
                              properties:
                                id:
                                  type: number
                                  description: endpoint group ID
                                  examples:
                                    - 2
                                description:
                                  type: string
                                  description: localized group name
                                  examples:
                                    - Orders
                            access:
                              type: string
                              enum:
                                - read
                                - write
                                - both
                              description: >-
                                read/write rights. Possible values: `read`,
                                `write`, `both`
                              examples:
                                - read
                            action:
                              type:
                                - string
                                - 'null'
                              enum:
                                - add
                                - edit
                                - delete
                                - null
                              examples:
                                - add
                              description: >-
                                action for approval of endpoints. Possible
                                values [`insert`, `delete`, `update`], or `NULL`
                                for endpoints already approved.
                  errors:
                    $ref: '#/components/schemas/Errors'
                required:
                  - data
                  - errors
                additionalProperties: false
      summary: List of available endpoints
      operationId: getListOfAvailableEndpoints
      description: >-
        List of endpoints available within the systems. Using the "status"
        parameter, you can list the approved 

        endpoints, or endpoints pending approval. In default state, without the
        parameter, the endpoint returns 

        the approved endpoints.
      tags:
        - System endpoints
      parameters:
        - name: status
          in: query
          description: 'supported values: `approved`, `pending`'
          example: approved
          schema:
            type: string
        - $ref: '#/components/parameters/DefaultContentType'
components:
  securitySchemes:
    shoptetAccessToken:
      type: apiKey
      in: header
      name: Shoptet-Access-Token
    shoptetPrivateApiToken:
      type: apiKey
      in: header
      name: Shoptet-Private-Api-Token
  parameters:
    DefaultContentType:
      name: Content-Type
      in: header
      required: true
      schema:
        type: string
        default: application/vnd.shoptet.v1.0
  schemas:
    Errors:
      type:
        - array
        - 'null'
      items:
        type: object
        properties:
          errorCode:
            type: string
            description: Short text error identification
            examples:
              - example-error-code
          message:
            type: string
            description: Descriptive error message
            examples:
              - Example error message
          instance:
            type: string
            description: Identification of the entity referenced
            examples:
              - instance
        required:
          - errorCode
          - message
          - instance
        additionalProperties: false
    typeConstSymbol:
      type: string
      pattern: ^[0-9]{1,4}$
      description: Const symbol. Only numbers are allowed (max length 4).
      examples:
        - '0308'
    typeAmount:
      type:
        - string
        - 'null'
      pattern: ^(-)?[0-9]+\.[0-9]{3}$
      examples:
        - '1.000'
    typePositiveAmount:
      type:
        - string
        - 'null'
      pattern: ^[0-9]+\.[0-9]{3}$
      examples:
        - '1.000'
    typePrice:
      type:
        - string
        - 'null'
      pattern: ^(-)?[0-9]+\.[0-9]{2}$
      examples:
        - '21.00'
    typePriceRatio:
      type: string
      pattern: '[0-9]+\.[0-9]{4}$'
      examples:
        - '0.7800'
    typeProductPriceRatio:
      type: string
      pattern: '[0-9]+\.[0-9]{3}$'
      examples:
        - '0.780'
      description: >-
        price ratio. The price of the product shall be calculated by multiplying
        the price and this coefficient. The price ratio affects only the price
        (`price`), the special discounted price (`actionPrice`) is not affected
        by the ratio. This ratio has 3 decimal places and can be greater than
        1,000
    typeVatRate:
      type: string
      pattern: ^[0-9]+\.[0-9]{2}$
      examples:
        - '21.00'
    typeCurrencyCode:
      type: string
      pattern: ^[a-zA-Z]{3}$
      description: >-
        currency code. List of available currencies within the e-shop can be
        found in endpoint `GET /api/eshop`.
      examples:
        - CZK
    typeDimension:
      type: string
      pattern: ^[0-9]{1,4}\.[0-9]{1}$
      examples:
        - '10.0'
    typeWeight:
      type: string
      pattern: ^[0-9]{1,6}\.[0-9]{3}$
      description: >-
        weight in kg, unpacked (can be `null`). 3 decimal places. Maximum value
        999999.
      examples:
        - '1.234'
    typeWeightUnlimited:
      type: string
      pattern: ^[0-9]+\.[0-9]{3}$
      description: weight in kg, unpacked, 3 decimal places. Maximum value 999999.
      examples:
        - '1.234'
    typeWeightRequest:
      type: string
      pattern: ^[0-9]{1,5}\.[0-9]{3}$
      examples:
        - '15.500'
    typeDate:
      type:
        - string
        - 'null'
      pattern: ^[0-9]{4}-[0-9]{2}-[0-9]{2}$
      format: date
      examples:
        - '2017-04-04'
    typeDateTime:
      type:
        - string
        - 'null'
      pattern: >-
        ^[0-9]{4}-[01][0-9]-[0123][0-9]T[012][0-9]:[0-5][0-9]:[0-5][0-9]\+[0-9]{4}$
      examples:
        - 2018-05-29T09:02:27+0200
    typeDateTimeRequest:
      type:
        - string
        - 'null'
      pattern: >-
        ^[0-9]{4}-[01][0-9]-[0123][0-9]T[012][0-9]:[0-5][0-9]:[0-5][0-9](\+[0-9]{4})?$
      examples:
        - '2018-05-29T09:02:27'
    typeExchangeRate:
      type: string
      pattern: ^[0-9]+\.[0-9]{8}$
      description: >-
        currency rate of the receipt for the default currency of the shop. This
        value is saved together with the price and reflects the historical value
        valid in the instant of the order creation. If the shop changes the
        default currency, the value still refers to the original currency!
      examples:
        - '1.04568087'
    typeCustomerFieldValue:
      type: string
      enum:
        - required
        - optional
        - hidden
      examples:
        - required
        - optional
        - hidden
    typeUnitRatio:
      type: string
      pattern: ^[0-9]+\.[0-9]{9}$
      description: Unit ratio
      examples:
        - '0.001'
    typeGuid:
      type: string
      maxLength: 36
      pattern: ^[0-9a-f]{8}-([0-9a-f]{4}-){3}[0-9a-f]{12}$
      examples:
        - 1b02cb8e-d7b5-11e0-9a5c-feab5ed617ed
    typeGuidUnlimited:
      type: string
      maxLength: 36
      examples:
        - 1b02cb8e-d7b5-11e0-9a5c-feab5ed617ed
    typeNonEmptyString:
      type: string
      minLength: 1
    typeFilename:
      type: string
      minLength: 1
      maxLength: 255
      pattern: ^[0-9a-zA-Z\-.]+$
    typeColor:
      type: string
      pattern: ^#?([0-9a-fA-F]{3}|[0-9a-fA-F]{6})$
      examples:
        - FF00FF
        - '#FF00FF'
        - '#ffffff'
    paginator:
      type: object
      additionalProperties: false
      required:
        - totalCount
        - page
        - pageCount
        - itemsOnPage
        - itemsPerPage
      properties:
        totalCount:
          type: integer
          description: total number of available records
          examples:
            - 55
        page:
          type: integer
          description: current page
          examples:
            - 1
        pageCount:
          type: integer
          description: total available of pages
          examples:
            - 3
        itemsOnPage:
          type: integer
          description: number of currently returned records
          examples:
            - 20
        itemsPerPage:
          type: integer
          description: required number of records per page
          examples:
            - 20
    itemSurchargeParameters:
      type: array
      items:
        type: object
        additionalProperties: false
        properties:
          parameterName:
            type: object
            additionalProperties: false
            description: surcharge parameter name's information
            properties:
              code:
                type:
                  - string
                  - 'null'
                description: parameters name code, can be null if already deleted
                examples:
                  - priplatek
              name:
                type: string
                description: parameters name
                examples:
                  - Příplatek
          parameterValue:
            type: object
            additionalProperties: false
            description: surcharge parameter value's information
            properties:
              valueIndex:
                type:
                  - string
                  - 'null'
                description: parameters value code, can be null if already deleted
                examples:
                  - zlaty
              description:
                type: string
                description: parameters value name
                examples:
                  - Zlatý
              price:
                $ref: '#/components/schemas/typePrice'
                description: parameters value additional price
                examples:
                  - '100.00'
    itemSpecificSurchargeParameters:
      type: array
      items:
        type: object
        required:
          - relationId
          - name
          - price
        additionalProperties: false
        properties:
          relationId:
            type: string
            description: >-
              id which identifies relation between item and surcharge. Can be
              used to delete surcharge parameter related to item.
            examples:
              - abc123
          name:
            type: string
            description: full name of surcharge parameter.
            examples:
              - Povinný - příplatek
          price:
            $ref: '#/components/schemas/typePrice'
            description: price of surcharge parameter
            examples:
              - '123.00'
    productFlags:
      type: array
      items:
        type: object
        additionalProperties: false
        required:
          - code
          - title
          - system
        properties:
          code:
            type: string
            description: flag identifier
            examples:
              - action
          title:
            type: string
            description: flag title
            examples:
              - Action
          system:
            type: boolean
            description: is it a system flag common for all e-shops?
            examples:
              - true
    itemSurchargeParametersWithoutPrice:
      type: array
      items:
        type: object
        additionalProperties: false
        properties:
          parameterName:
            type: object
            additionalProperties: false
            properties:
              code:
                type:
                  - string
                  - 'null'
              name:
                type: string
          parameterValue:
            type: object
            additionalProperties: false
            properties:
              valueIndex:
                type:
                  - string
                  - 'null'
              description:
                type: string
    itemSpecificSurchargeParametersWithoutPrice:
      type: array
      items:
        type: object
        required:
          - relationId
          - name
        additionalProperties: false
        properties:
          relationId:
            type: string
          name:
            type: string
    surchargeParameterValue:
      type: object
      additionalProperties: false
      required:
        - id
        - valueIndex
        - description
        - price
        - priority
      properties:
        id:
          type: integer
          description: >-
            Id of surcharge parameter value. This identifier is used on eshop
            frontend.
          examples:
            - 23
        valueIndex:
          type: string
          description: Code (identifier) of parameter's value
          examples:
            - zlaty
        description:
          type: string
          description: Description (name) of parameter's value
          examples:
            - Zlatý
        price:
          $ref: '#/components/schemas/typePrice'
          description: Price of parameter's value
        priority:
          type:
            - integer
            - 'null'
          description: Priority of parameter's value
          examples:
            - 1
    productSurchargeParameter:
      type: object
      additionalProperties: false
      required:
        - code
        - name
        - displayName
        - description
        - priority
        - required
        - currency
        - includingVat
        - values
      properties:
        code:
          type: string
          description: parameter identifier
          examples:
            - potisk
        name:
          type: string
          description: parameter name
          examples:
            - S potiskem
        displayName:
          type:
            - string
            - 'null'
          description: parameter display name
          examples:
            - Příplatek za potisk
        description:
          type:
            - string
            - 'null'
          description: parameter description
          examples:
            - Ozdobný potisk
        priority:
          type:
            - integer
            - 'null'
          description: parameter priority
          examples:
            - 1
        required:
          type: boolean
          description: Is value for parameter required?
          examples:
            - true
        currency:
          type: string
          description: Currency of price in parameter's values
          examples:
            - CZK
        includingVat:
          type: boolean
          description: Is price in parameter's values including VAT?
          examples:
            - true
        values:
          type: array
          description: Possible parameter's values
          items:
            $ref: '#/components/schemas/productSurchargeParameterValue'
    productSurchargeParameterValue:
      type: object
      additionalProperties: false
      required:
        - valueIndex
        - description
        - price
        - priority
        - visible
      properties:
        valueIndex:
          type: string
          description: Code (identifier) of parameter's value
          examples:
            - zlaty
        description:
          type: string
          description: Description (name) of parameter's value
          examples:
            - Zlatý
        price:
          $ref: '#/components/schemas/typePrice'
          description: Price of parameter's value
          examples:
            - '100.00'
        priority:
          type:
            - integer
            - 'null'
          description: Priority of parameter's value
          examples:
            - 1
        visible:
          type: boolean
          description: Is parameter value visible?
          examples:
            - true
    productRequestSurchargeParameter:
      type: object
      additionalProperties: false
      required:
        - code
        - values
      properties:
        code:
          type: string
          minLength: 1
          maxLength: 255
          description: parameter identifier, language dependent
          examples:
            - pp-1
        values:
          type: array
          minItems: 1
          description: Product surcharge parameter values.
          items:
            $ref: '#/components/schemas/productRequestSurchargeParameterValue'
    productRequestSurchargeParameterValue:
      type: object
      additionalProperties: false
      required:
        - valueIndex
      properties:
        valueIndex:
          type: string
          minLength: 1
          maxLength: 255
          description: parameter value identifier, language dependent
          examples:
            - hodnota-01
        price:
          $ref: '#/components/schemas/typePrice'
          description: >-
            surcharge amount which is added to the product price for the
            customer when this parameter is chosen.
          examples:
            - '650.00'
        visible:
          type: boolean
          description: flag, whether the parameter value is visible
          examples:
            - true
    productFilteringParameterValue:
      type: object
      additionalProperties: false
      required:
        - id
        - valueIndex
        - name
        - priority
        - color
        - image
      description: Possible parameter's values
      properties:
        id:
          type: integer
          description: Parameter value id
          examples:
            - 1
        valueIndex:
          type:
            - string
            - 'null'
          description: Code (identifier) of parameter's value
          examples:
            - ag
        name:
          type: string
          description: Description (name) of parameter's value
          examples:
            - Gold
        priority:
          type:
            - integer
            - 'null'
          description: Parameter value priority
          examples:
            - 1
        color:
          type:
            - string
            - 'null'
          description: Hex code of color
          examples:
            - '#34ff34'
        image:
          type:
            - string
            - 'null'
          description: Url of image
          examples:
            - https://www.domena-eshopu.cz/user/parameters/100.jpg
    productVariantParameterValue:
      type: object
      additionalProperties: false
      required:
        - id
        - paramValue
        - rawValue
        - color
        - image
        - valuePriority
      properties:
        id:
          type: integer
          description: Parameter value id
          examples:
            - 1
        paramValue:
          type: string
          description: Description (name) of parameter's value
          examples:
            - Color Red
        rawValue:
          type: string
          description: Code (identifier) of parameter's value
          examples:
            - color-red
        color:
          type:
            - string
            - 'null'
          description: Hex code of color
          examples:
            - '#34ff34'
        image:
          type:
            - string
            - 'null'
          description: Url of image
          examples:
            - https://www.domena-eshopu.cz/user/parameters/100.jpg
        valuePriority:
          type:
            - integer
            - 'null'
          description: Parameter value priority
          examples:
            - 1
    consumptionTax:
      type: object
      additionalProperties: false
      required:
        - id
        - name
        - price
        - currency
        - isVisible
        - created
        - updated
      properties:
        id:
          type: integer
          description: Consumption tax id.
          examples:
            - 1
        name:
          type: string
          description: Consumption tax name.
          examples:
            - ABC
        price:
          type: string
          $ref: '#/components/schemas/typePrice'
          description: Consumption tax amount.
          examples:
            - '50.00'
        currency:
          type: string
          description: Consumption tax currency.
          examples:
            - EUR
        isVisible:
          type: boolean
          description: Flag, whether the consumption tax is visible in documents or not.
          examples:
            - false
        created:
          $ref: '#/components/schemas/typeDateTime'
          description: Consumption tax creation date.
          examples:
            - 2018-08-02T17:22:02+0200
        updated:
          $ref: '#/components/schemas/typeDateTime'
          description: Consumption tax update date.
          examples:
            - 2018-08-02T17:22:02+0200
    measureUnit:
      type: object
      additionalProperties: false
      required:
        - packagingUnitId
        - packagingAmount
        - measureUnitId
        - measureAmount
      properties:
        packagingUnitId:
          type:
            - integer
            - 'null'
          description: Packaging unit id
          examples:
            - 22
        packagingAmount:
          $ref: '#/components/schemas/typePositiveAmount'
          description: amount being in a package
          examples:
            - '1.000'
        measureUnitId:
          type:
            - integer
            - 'null'
          description: Measure unit id
          examples:
            - 1
        measureAmount:
          $ref: '#/components/schemas/typePositiveAmount'
          description: referential amount
          examples:
            - '1'
    recyclingFee:
      type:
        - object
        - 'null'
      additionalProperties: false
      required:
        - category
        - fee
      properties:
        category:
          type:
            - string
            - 'null'
          $ref: '#/components/schemas/typeNonEmptyString'
          description: Recycling fee category name.
          examples:
            - shoes
        fee:
          $ref: '#/components/schemas/typePrice'
          description: Recycling fee.
        unit:
          enum:
            - pcs
            - kg
          description: Recycling fee unit.
          examples:
            - pcs
    recyclingFeeCategory:
      type: object
      additionalProperties: false
      required:
        - id
        - category
        - fee
        - unit
        - currency
      properties:
        id:
          type: integer
          description: Recycling fee category id.
          examples:
            - 1
        category:
          type: string
          description: Recycling fee category name.
          examples:
            - Cups
        fee:
          type: string
          $ref: '#/components/schemas/typePrice'
          description: Recycling fee amount.
        unit:
          enum:
            - pcs
            - kg
          description: Recycling fee unit.
          examples:
            - pcs
        currency:
          type: string
          description: Currency code of recycling fee.
          examples:
            - EUR
    productConsumptionTax:
      type: object
      additionalProperties: false
      required:
        - id
        - name
        - price
        - currency
      properties:
        id:
          type: integer
          description: Consumption tax identifier.
          examples:
            - 1
        name:
          type: string
          description: Consumption tax name.
          examples:
            - Tobacco
        price:
          type: string
          $ref: '#/components/schemas/typePrice'
          description: Consumption tax price.
        currency:
          type: string
          description: Currency code of consumption tax.
          examples:
            - CZK
    billingMethod:
      type: object
      additionalProperties: false
      required:
        - id
        - name
      properties:
        id:
          type: integer
          description: unique identifier of billing method
          examples:
            - 3
        name:
          type: string
          description: >-
            designation of the billing method. See also [code list of billing
            methods](#section/code-lists/Invoice-Billing-Methods).
          examples:
            - Cash
    itemPrice:
      type: object
      additionalProperties: false
      required:
        - withVat
        - withoutVat
        - vat
        - vatRate
      properties:
        withVat:
          $ref: '#/components/schemas/typePrice'
          description: price including tax
          examples:
            - '121.00'
        withoutVat:
          $ref: '#/components/schemas/typePrice'
          description: price excluding tax
          examples:
            - '100.00'
        vat:
          $ref: '#/components/schemas/typePrice'
          description: VAT value, two decimal places
        vatRate:
          $ref: '#/components/schemas/typeVatRate'
          description: VAT rate
    cartPrice:
      type: object
      additionalProperties: false
      required:
        - withVat
        - withoutVat
        - vat
      properties:
        withVat:
          $ref: '#/components/schemas/typePrice'
          description: Total price with VAT
          examples:
            - '121.00'
        withoutVat:
          $ref: '#/components/schemas/typePrice'
          description: Total price without VAT
          examples:
            - '100.00'
        vat:
          $ref: '#/components/schemas/typePrice'
          description: Total price VAT (not VAT rate)
          examples:
            - '21.00'
    paymentMethod:
      type: object
      additionalProperties: false
      required:
        - guid
        - name
      properties:
        guid:
          type:
            - string
            - 'null'
          $ref: '#/components/schemas/typeGuid'
          description: payment method identifier (can be `null`)
          examples:
            - 1b02cb8e-d7b5-11e0-9a5c-feab5ed617ed
        name:
          type: string
          description: description of payment method
          examples:
            - Cash
    shipping:
      type: object
      additionalProperties: false
      required:
        - guid
        - name
      properties:
        guid:
          $ref: '#/components/schemas/typeGuid'
          description: transport type identifier
        name:
          type: string
          description: description of transport method (Czech post, PPL, in person..)
    stock:
      type: object
      additionalProperties: false
      required:
        - id
        - title
        - isDeliveryPoint
        - deliveryPointTitle
        - deliveryPointAddress
      properties:
        id:
          type: integer
          description: stock unique ID
          examples:
            - 1
        title:
          type: string
          description: stock name
          examples:
            - Main stock
        isDeliveryPoint:
          type: boolean
          description: flag, whether the stock is also a distribution point
          examples:
            - false
        deliveryPointTitle:
          type:
            - string
            - 'null'
          description: name of the distribution point (can be `null`)
          examples:
            - Main delivery point
        deliveryPointAddress:
          type:
            - string
            - 'null'
          description: address of the distribution point (can be `null`)
          examples:
            - Main street 123, Prague
    availabilityShort:
      type: object
      additionalProperties: false
      required:
        - id
        - name
      properties:
        id:
          type: integer
          description: availability unique ID
          examples:
            - -1
        name:
          type: string
          description: availability name
          examples:
            - Sold out
    supplier:
      type: object
      additionalProperties: false
      required:
        - guid
        - name
      properties:
        guid:
          $ref: '#/components/schemas/typeGuid'
          description: supplier unique ID
        name:
          type: string
          description: supplier name
          examples:
            - Willy Wonka
    brand:
      type: object
      additionalProperties: false
      required:
        - guid
        - name
        - indexName
        - description
        - brandWeb
        - showInCategoriesMenu
        - showInBrandList
        - metaTitle
        - metaDescription
      properties:
        guid:
          type: string
          description: brand GUID
          examples:
            - 1b02cb8e-d7b5-11e0-9a5c-feab5ed617ed
        name:
          type: string
        indexName:
          type: string
          description: Name of brand
          examples:
            - Willy Wonka
        description:
          type:
            - string
            - 'null'
          description: Description of brand. May contain HTML character
          examples:
            - <p>Brand new chocolate <strong>everyday</strong></p>
        brandWeb:
          type:
            - string
            - 'null'
          description: URL of brand website
          examples:
            - https://www.willywonka.com
        showInCategoriesMenu:
          type: boolean
          description: Is this brand shown in categories menu?
          examples:
            - true
        showInBrandList:
          type: boolean
          description: Is this brand shown in brand list?
          examples:
            - false
        metaTitle:
          type:
            - string
            - 'null'
          description: Meta title of brand
          examples:
            - Willy Wonka
        metaDescription:
          type:
            - string
            - 'null'
          description: Meta description of brand
          examples:
            - Willy Wonka - Chocolate Factory
    brandNamed:
      type: object
      additionalProperties: false
      required:
        - code
        - name
      properties:
        code:
          type: string
          description: unique brand code
          examples:
            - willy-wonka
        name:
          type: string
          description: brand name
          examples:
            - Willy Wonka
    webhook:
      type: object
      additionalProperties: false
      required:
        - id
        - event
        - url
        - created
        - updated
      properties:
        id:
          type: integer
          description: notification unique ID
          examples:
            - 992801
        event:
          type: string
          description: >-
            event, see [webhook event
            types](#section/code-lists/Webhook-event-types)
          examples:
            - order:create
        url:
          type: string
          description: webhook URL
          examples:
            - https://myapplication.tld/orders.php
        created:
          $ref: '#/components/schemas/typeDateTime'
          description: webhook registration date
        updated:
          $ref: '#/components/schemas/typeDateTime'
          description: webhook update date (can be `null`)
    webhookNotification:
      type: object
      additionalProperties: false
      required:
        - id
        - webhookId
        - webhookUrl
        - event
        - eventCreated
        - created
        - attempted
        - attempts
        - status
        - active
        - data
      properties:
        id:
          type: integer
          description: notification unique ID
          examples:
            - 992801
        webhookId:
          type: integer
          description: link to webhook, which invoked the notification
          examples:
            - 10201
        webhookUrl:
          type: string
          description: webhook URL in the instant, when the notification was created
          examples:
            - https://myapplication.tld/orders.php
        event:
          type: string
          description: >-
            event, see [webhook event
            types](#section/code-lists/Webhook-event-types)
          examples:
            - order:create
        eventCreated:
          $ref: '#/components/schemas/typeDateTime'
          description: time of event creation - notification
        created:
          $ref: '#/components/schemas/typeDateTime'
          description: date and time, when the webhook notification was created
        attempted:
          $ref: '#/components/schemas/typeDateTime'
          description: >-
            date and time of last notification delivery attempt at webhook URL
            (can be `null`)
        attempts:
          type: integer
          description: number of implemented attempts to deliver the notification
          examples:
            - 3
        status:
          type: string
          description: results of the last attempt to deliver the notification
          examples:
            - failed
        active:
          type: boolean
          description: >-
            flag that the notification was not delivered yet, and the number of
            attempts did not reach the maximum amount The notification will be
            resent to the target URL
          examples:
            - true
        data:
          $ref: '#/components/schemas/notificationData'
          description: content of sent notification
    notificationData:
      type: object
      additionalProperties: false
      required:
        - eshopId
        - event
        - eventCreated
        - eventInstance
      properties:
        eshopId:
          type: integer
          description: number of (id) e-shop
          examples:
            - 1
        event:
          type: string
          examples:
            - order:create
        eventCreated:
          $ref: '#/components/schemas/typeDateTime'
        eventInstance:
          type: string
          description: >-
            Identification of the entity that the notification concerns. For
            example order number, product GUID, etc.
          examples:
            - c9e976a5-340b-11e4-b500-ac162d8a2454
    price:
      type: object
      additionalProperties: false
      required:
        - vat
        - toPay
        - currencyCode
        - withoutVat
        - withVat
        - exchangeRate
      properties:
        vat:
          $ref: '#/components/schemas/typePrice'
          description: VAT value, two decimal places
          examples:
            - '42.00'
        toPay:
          $ref: '#/components/schemas/typePrice'
          description: total price to pay
          examples:
            - '242.00'
        currencyCode:
          $ref: '#/components/schemas/typeCurrencyCode'
        withoutVat:
          $ref: '#/components/schemas/typePrice'
          description: price excluding tax
          examples:
            - '200.00'
        withVat:
          $ref: '#/components/schemas/typePrice'
          description: price including tax
          examples:
            - '242.00'
        exchangeRate:
          $ref: '#/components/schemas/typeExchangeRate'
        partialPaymentAmount:
          $ref: '#/components/schemas/typePrice'
          description: >-
            can be value expressed in percents or as exact money value
            expression (with up to two decimal places) - depends on
            partialPaymentType value
          examples:
            - '100.00'
        partialPaymentType:
          type: string
          description: >-
            'percents' = partial payment as percentage from total price |
            'absolute' = exact expression of partial payment in money
          examples:
            - percents
    address:
      type: object
      additionalProperties: false
      required:
        - company
        - fullName
        - street
        - houseNumber
        - city
        - district
        - additional
        - zip
        - countryCode
        - regionName
        - regionShortcut
      properties:
        company:
          type:
            - string
            - 'null'
          description: name of purchaser''s company (or `null`)
          examples:
            - Shoptet s.r.o.
        fullName:
          type:
            - string
            - 'null'
          description: name of purchaser (or `null`)
          examples:
            - John Doe
        street:
          type:
            - string
            - 'null'
          description: street of purchaser (or `null`)
          examples:
            - French
        houseNumber:
          type:
            - string
            - 'null'
          description: street number (or `null`)
          examples:
            - '123'
        city:
          type:
            - string
            - 'null'
          description: city/town (village) (or `null`)
          examples:
            - Praha 2
        district:
          type:
            - string
            - 'null'
          description: county (or `null`)
          examples:
            - Praha 2
        additional:
          type:
            - string
            - 'null'
          description: additional address information (or `null`)
          examples:
            - 4. floor
        zip:
          type:
            - string
            - 'null'
          description: ZIP or postal code (or `null`)
          examples:
            - 120 00
        countryCode:
          type:
            - string
            - 'null'
          description: tree-character ISO country code (ISO 4217)
          examples:
            - CZ
        regionName:
          type:
            - string
            - 'null'
          description: region name (or `null`)
          examples:
            - Capital city
        regionShortcut:
          type:
            - string
            - 'null'
          description: region abbreviation (or `null`)
          examples:
            - CC
    billingAddress:
      type: object
      additionalProperties: false
      required:
        - company
        - fullName
        - street
        - houseNumber
        - city
        - district
        - additional
        - zip
        - countryCode
        - regionName
        - regionShortcut
        - companyId
        - taxId
        - vatId
      properties:
        company:
          type:
            - string
            - 'null'
          description: name of purchaser''s company (or `null`)
          examples:
            - Shoptet s.r.o.
        fullName:
          type:
            - string
            - 'null'
          description: name of purchaser (or `null`)
          examples:
            - John Doe
        street:
          type:
            - string
            - 'null'
          description: street of purchaser (or `null`)
          examples:
            - French
        houseNumber:
          type:
            - string
            - 'null'
          description: street number (or `null`)
          examples:
            - '123'
        city:
          type:
            - string
            - 'null'
          description: city/town (village) (or `null`)
          examples:
            - Praha 2
        district:
          type:
            - string
            - 'null'
          description: county (or `null`)
          examples:
            - Praha 2
        additional:
          type:
            - string
            - 'null'
          description: additional address information (or `null`)
          examples:
            - 4. floor
        zip:
          type:
            - string
            - 'null'
          description: ZIP or postal code (or `null`)
          examples:
            - 120 00
        countryCode:
          type:
            - string
            - 'null'
          description: tree-character ISO country code (ISO 4217)
          examples:
            - CZ
        regionName:
          type:
            - string
            - 'null'
          description: region name (or `null`)
          examples:
            - Capital city
        regionShortcut:
          type:
            - string
            - 'null'
          description: region abbreviation (or `null`)
          examples:
            - CC
        companyId:
          type:
            - string
            - 'null'
          description: Company registration number. (can be `null`)
          examples:
            - '12345678'
        vatId:
          type:
            - string
            - 'null'
          description: VAT identification number. (can be `null`)
          examples:
            - CZ289324675
        vatIdValidationStatus:
          enum:
            - unverified
            - verified
            - waiting
            - null
          description: >-
            Info, whether VAT ID has been verified, enum [`unverified`,
            `verified`, `waiting`]
          examples:
            - verified
        taxId:
          type:
            - string
            - 'null'
          description: >-
            TAX identification number. For Czech address, taxId is same as
            vatId. (can be `null`)
          examples:
            - CZ289324675
    billingAddressCustomer:
      type: object
      additionalProperties: false
      minProperties: 1
      properties:
        company:
          type:
            - string
            - 'null'
          minLength: 1
          maxLength: 100
          description: company (can be `null`)
          examples:
            - Lard shop
        fullName:
          type:
            - string
            - 'null'
          minLength: 1
          maxLength: 100
          description: full name (can be `null`)
          examples:
            - John Lard
        street:
          type:
            - string
            - 'null'
          minLength: 1
          maxLength: 100
          description: street (can be `null`)
          examples:
            - Lard street
        houseNumber:
          type:
            - string
            - 'null'
          minLength: 1
          maxLength: 16
          description: house number (can be `null`)
          examples:
            - '123'
        city:
          type:
            - string
            - 'null'
          minLength: 1
          maxLength: 100
          description: city/town (can be `null`)
          examples:
            - Lard city
        district:
          type:
            - string
            - 'null'
          minLength: 1
          maxLength: 64
          description: region (can be `null`)
          examples:
            - Prague-East
        additional:
          type:
            - string
            - 'null'
          minLength: 1
          maxLength: 64
          description: additional address information (can be `null`)
          examples:
            - 4. floor
        zip:
          type:
            - string
            - 'null'
          minLength: 1
          maxLength: 30
          description: ZIP or postal code (can be `null`)
          examples:
            - 120 00
        countryCode:
          type: string
          minLength: 1
          description: country (can be `null`)
          examples:
            - CZ
        regionName:
          type:
            - string
            - 'null'
          minLength: 1
          maxLength: 128
          description: region name (can be `null`)
          examples:
            - Capital city
        companyId:
          type:
            - string
            - 'null'
          minLength: 1
          maxLength: 18
          description: >-
            Company registration number of the customer, if purchasing as a
            company. Optional.
          examples:
            - '12345678'
        vatId:
          type:
            - string
            - 'null'
          minLength: 1
          maxLength: 16
          description: >-
            VAT identification number of the customer, if purchasing as a
            company. Optional.
          examples:
            - CZ123456
        taxId:
          type:
            - string
            - 'null'
          minLength: 1
          maxLength: 16
          description: >-
            TAX identification number of the customer, if purchasing on the
            company. For Czech address, taxId must be the same as vatId, or left
            empty. Optional.
          examples:
            - CZ123456
    deliveryAddressCustomer:
      type: object
      additionalProperties: false
      required:
        - guid
        - company
        - fullName
        - street
        - houseNumber
        - city
        - district
        - additional
        - zip
        - countryCode
        - regionName
        - regionShortcut
      properties:
        guid:
          type: string
          description: customer delivery address identification
          examples:
            - c9e976a5-340b-11e4-b500-ac162d8a2454
        company:
          type:
            - string
            - 'null'
          description: company (can be `null`)
          examples:
            - Lard shop
        fullName:
          type:
            - string
            - 'null'
          description: full name (can be `null`)
          examples:
            - John Lard
        street:
          type:
            - string
            - 'null'
          description: street (can be `null`)
          examples:
            - Lard street
        houseNumber:
          type:
            - string
            - 'null'
          description: house number (can be `null`)
          examples:
            - '5647'
        city:
          type:
            - string
            - 'null'
          description: city/town (can be `null`)
          examples:
            - Čelákovice
        district:
          type:
            - string
            - 'null'
          description: region (can be `null`)
          examples:
            - Prague-East
        additional:
          type:
            - string
            - 'null'
          description: additonal info (can be `null`)
          examples:
            - Arcade
        zip:
          type:
            - string
            - 'null'
          description: ZIP/postal code (can be `null`)
          examples:
            - '25088'
        countryCode:
          type:
            - string
            - 'null'
          description: country (can be `null`)
        regionName:
          type:
            - string
            - 'null'
          description: region name (can be `null`)
          examples:
            - Central Bohemia
        regionShortcut:
          type:
            - string
            - 'null'
          description: region abbreviation (can be `null`)
          examples:
            - StK
        isDefault:
          type: boolean
          examples:
            - true
    documentItemsWithPrice:
      type: object
      additionalProperties: false
      required:
        - productGuid
        - code
        - itemType
        - name
        - variantName
        - brand
        - amount
        - amountUnit
        - remark
        - priceRatio
        - weight
        - additionalField
        - itemPrice
        - buyPrice
        - itemId
      properties:
        productGuid:
          type:
            - string
            - 'null'
          $ref: '#/components/schemas/typeGuidUnlimited'
          description: global unique permanent product identifier (can be `null`)
        code:
          type:
            - string
            - 'null'
          description: variant code (product) (can be `null`)
          examples:
            - '159'
        itemType:
          type: string
          description: item type
          examples:
            - product
        name:
          type:
            - string
            - 'null'
          description: product name (can be `null`)
          examples:
            - Flying carpet
        variantName:
          type:
            - string
            - 'null'
          description: variant name (can be `null`)
          examples:
            - Red Flying carpet
        brand:
          type:
            - string
            - 'null'
          description: brand name (can be `null`)
          examples:
            - Flying carpets Inc.
        amount:
          $ref: '#/components/schemas/typeAmount'
          description: quantity
        amountUnit:
          type:
            - string
            - 'null'
          description: unit of quantity (can be `null`)
          examples:
            - pcs
        remark:
          type:
            - string
            - 'null'
          description: remark (can be `null`)
          examples:
            - This is a remark
        priceRatio:
          $ref: '#/components/schemas/typePriceRatio'
          description: discount - 0.7800 = discount 22%; 1.0000 = no discount
        weight:
          type:
            - string
            - 'null'
          $ref: '#/components/schemas/typeWeight'
        additionalField:
          type:
            - string
            - 'null'
          description: additional info (can be `null`)
          examples:
            - additional info
        itemPrice:
          $ref: '#/components/schemas/itemPrice'
          description: item price
        buyPrice:
          type:
            - object
            - 'null'
          $ref: '#/components/schemas/itemPrice'
          description: purchase price of the part, can be `null`.
        displayPrices:
          type: array
          description: >-
            in some cases, one item is displayed as multiple lines in the
            administration or a printout. This array contains one or more rows
            representing the printout version of the item.
          items:
            $ref: '#/components/schemas/itemPrice'
        itemId:
          type: number
          description: item identifier for manipulation with this item
          examples:
            - 123
        surchargeParameters:
          $ref: '#/components/schemas/itemSurchargeParameters'
        specificSurchargeParameters:
          $ref: '#/components/schemas/itemSpecificSurchargeParameters'
    invoiceItem:
      type: object
      additionalProperties: false
      required:
        - productGuid
        - itemId
        - code
        - itemType
        - name
        - variantName
        - brand
        - amount
        - amountUnit
        - remark
        - priceRatio
        - weight
        - additionalField
        - itemPrice
        - buyPrice
        - consumptionTax
      properties:
        productGuid:
          type:
            - string
            - 'null'
          $ref: '#/components/schemas/typeGuidUnlimited'
          description: global unique permanent product identifier.
        itemId:
          type: number
          description: item identifier for manipulation with this item
          examples:
            - 123
        code:
          type:
            - string
            - 'null'
          description: variant code (product)
          examples:
            - '159'
        itemType:
          type: string
          description: item type
          examples:
            - product
        name:
          type:
            - string
            - 'null'
          description: product name
          examples:
            - Flying carpet
        variantName:
          type:
            - string
            - 'null'
          description: variant name
          examples:
            - Red Flying carpet
        brand:
          type:
            - string
            - 'null'
          description: brand (or manufacturer, possibly)
          examples:
            - Flying carpets Inc.
        amount:
          $ref: '#/components/schemas/typeAmount'
          description: quantity
          examples:
            - '3.45'
        amountUnit:
          type:
            - string
            - 'null'
          description: unit of quantity
          examples:
            - ks
        remark:
          type:
            - string
            - 'null'
          description: remark
          examples:
            - This is a remark
        priceRatio:
          $ref: '#/components/schemas/typePriceRatio'
          description: discount - 0.7800 = discount 22%; 1.0000 = no discount
        weight:
          type:
            - string
            - 'null'
          $ref: '#/components/schemas/typeWeight'
        additionalField:
          type:
            - string
            - 'null'
          description: additional info
          examples:
            - additional info
        itemPrice:
          $ref: '#/components/schemas/itemPrice'
          description: item price
        buyPrice:
          type:
            - object
            - 'null'
          $ref: '#/components/schemas/itemPrice'
          description: purchase price of the part, can be `null`.
        displayPrices:
          type: array
          description: >-
            in some cases, one item is displayed as multiple lines in the
            administration or a printout. This array contains one or more rows
            representing the printout version of the item.
          items:
            $ref: '#/components/schemas/itemPrice'
        recyclingFee:
          $ref: '#/components/schemas/recyclingFee'
          description: recycling fee including category and price (or possibly `null`)
        surchargeParameters:
          $ref: '#/components/schemas/itemSurchargeParameters'
          description: >-
            items surcharge parameters, filled in item creation. Cannot be
            edited.
        specificSurchargeParameters:
          $ref: '#/components/schemas/itemSpecificSurchargeParameters'
          description: List of specific surcharge parameters for item detail.
        consumptionTax:
          $ref: '#/components/schemas/documentConsumptionTax'
          description: consumption tax of invoice item
    documentConsumptionTax:
      type:
        - object
        - 'null'
      additionalProperties: false
      required:
        - currency
        - price
      properties:
        currency:
          $ref: '#/components/schemas/typeCurrencyCode'
        price:
          $ref: '#/components/schemas/typePrice'
          description: consumption tax value
    consumptionTaxId:
      type:
        - integer
        - 'null'
      description: >-
        ID of the consumption tax. You can send this parameter, only if
        consumption tax module is enabled.
      examples:
        - 1
    deliveryNoteItem:
      type: object
      additionalProperties: false
      required:
        - productGuid
        - itemType
        - name
        - variantName
        - brand
        - amount
        - amountUnit
        - remark
        - code
      properties:
        productGuid:
          type:
            - string
            - 'null'
          $ref: '#/components/schemas/typeGuidUnlimited'
          description: global unique permanent product identifier
        itemType:
          type: string
          description: item type
          examples:
            - product
        name:
          type:
            - string
            - 'null'
          description: product name
          examples:
            - Flying carpet
        variantName:
          type:
            - string
            - 'null'
          description: variant name
          examples:
            - Red Flying carpet
        brand:
          type:
            - string
            - 'null'
          description: brand (or manufacturer, possibly)
          examples:
            - Flying carpets Inc.
        amount:
          $ref: '#/components/schemas/typeAmount'
          description: quantity
        amountUnit:
          type:
            - string
            - 'null'
          description: unit of quantity
          examples:
            - ks
        remark:
          type:
            - string
            - 'null'
          description: remark
          examples:
            - This is a remark
        weight:
          type:
            - string
            - 'null'
          $ref: '#/components/schemas/typeWeight'
        code:
          type:
            - string
            - 'null'
          description: variant code (product)
          examples:
            - '159'
        surchargeParameters:
          $ref: '#/components/schemas/itemSurchargeParametersWithoutPrice'
        specificSurchargeParameters:
          $ref: '#/components/schemas/itemSpecificSurchargeParametersWithoutPrice'
    eshop:
      type: object
      additionalProperties: false
      required:
        - bankAccount
        - iban
        - bic
        - vatPayer
      properties:
        bankAccount:
          type:
            - string
            - 'null'
          description: e-shop bank account (can be `null`)
          examples:
            - 123456789/1234
        iban:
          type:
            - string
            - 'null'
          description: e-shop IBAN (can be `null`)
          examples:
            - CZ6508000000192000145399
        bic:
          type:
            - string
            - 'null'
          description: bank code - SWIFT (can be `null`)
          examples:
            - CNBACZPPXXX
        vatPayer:
          type: boolean
          description: VAT payer (can be `null`)
          examples:
            - true
    documentCustomer:
      type: object
      additionalProperties: false
      required:
        - guid
        - phone
        - email
        - remark
      properties:
        guid:
          type:
            - string
            - 'null'
          $ref: '#/components/schemas/typeGuidUnlimited'
          description: customer identifier (can be `null`)
        phone:
          type:
            - string
            - 'null'
          description: customer phone (can be `null`)
          examples:
            - '603481066'
        email:
          type:
            - string
            - 'null'
          description: customer e-mail (can be `null`)
          examples:
            - example@example.com
        remark:
          type:
            - string
            - 'null'
          description: remark for the customer (can be `null`)
          examples:
            - This is a remark
    actionPrice:
      type: object
      additionalProperties: false
      description: special discounted price.
      required:
        - price
        - fromDate
        - toDate
      properties:
        price:
          type: string
          $ref: '#/components/schemas/typePrice'
          description: >-
            special discounted price. It is only used if set and if the validity
            date is set too, form (`fromDate`) to (`toData`).
          examples:
            - '189.00'
        fromDate:
          $ref: '#/components/schemas/typeDate'
          description: date from which the special discounted price is valid.
        toDate:
          $ref: '#/components/schemas/typeDate'
          description: date to which the special discounted price is valid.
    pricelist:
      type: object
      additionalProperties: false
      required:
        - id
        - name
      properties:
        id:
          type: integer
          description: price list identifier
          examples:
            - 1
        name:
          type: string
          description: price list name
          examples:
            - Hlavní ceník
    variantPrice:
      type: object
      additionalProperties: false
      required:
        - price
        - commonPrice
        - buyPrice
        - priceRatio
        - actionPrice
      properties:
        price:
          $ref: '#/components/schemas/typePrice'
          description: >-
            Price, at which the customer can purchase the product. It can be
            loaded by the special discounted price and influenced by the price
            ratio.
          examples:
            - '650.00'
        commonPrice:
          $ref: '#/components/schemas/typePrice'
          description: standard price, use for information and comparison to competitors.
          examples:
            - '750.00'
        buyPrice:
          $ref: '#/components/schemas/typePrice'
          description: purchase price.
          examples:
            - '500.00'
        priceRatio:
          $ref: '#/components/schemas/typeProductPriceRatio'
        actionPrice:
          type:
            - object
            - 'null'
          $ref: '#/components/schemas/actionPrice'
    productOrderableAmount:
      type: object
      additionalProperties: false
      required:
        - minimumAmount
        - maximumAmount
      properties:
        minimumAmount:
          $ref: '#/components/schemas/typePositiveAmount'
          description: minimum orderable quantity.
          examples:
            - 2
        maximumAmount:
          $ref: '#/components/schemas/typePositiveAmount'
          description: maximum orderable quantity.
          examples:
            - 9
    priceSales:
      type: object
      additionalProperties: false
      required:
        - minPriceRatio
        - freeShipping
        - freeBilling
        - loyaltyDiscount
        - volumeDiscount
        - quantityDiscount
        - discountCoupon
      properties:
        minPriceRatio:
          $ref: '#/components/schemas/typeProductPriceRatio'
          description: >-
            3 decimal places accuracy, (from `0.0000` to `1.0000`), maximum
            permitted discount.
          examples:
            - 0.78
        freeShipping:
          type: boolean
          description: >-
            flag, whether the product will have a free transport after it is
            placed in the cart.
          examples:
            - true
        freeBilling:
          type: boolean
          description: >-
            flag, whether the product will have a free payment after it is
            placed in the cart.
          examples:
            - true
        loyaltyDiscount:
          type: boolean
          description: flag, whether the loyalty discount should be used.
          examples:
            - true
        volumeDiscount:
          type: boolean
          description: flag, whether the volume discount should be used.
          examples:
            - true
        quantityDiscount:
          type: boolean
          description: flag, whether the volume/multibuy discount should be used.
          examples:
            - true
        discountCoupon:
          type: boolean
          description: flag, whether a discount coupon can be applied.
          examples:
            - true
    productVariantParameterValues:
      type: array
      items:
        type: object
        additionalProperties: false
        required:
          - paramValue
        properties:
          paramValue:
            type: string
            minLength: 1
            maxLength: 128
            description: Name of parameter value. Maximal length of 255 characters.
            examples:
              - Red
          rawValue:
            type:
              - string
              - 'null'
            minLength: 1
            maxLength: 255
            pattern: ^[a-zA-Z0-9\-]*$
            description: >-
              Url friendly name of parameter value. Maximal length of 255
              characters.
            examples:
              - red
          color:
            type:
              - string
              - 'null'
            $ref: '#/components/schemas/typeColor'
            description: >-
              Color hex code. Minimal length of 1 character. Maximal length of 8
              characters.
            examples:
              - FF00FF00
          image:
            type:
              - string
              - 'null'
            minLength: 1
            maxLength: 255
            description: Image name. Image needs to exist in your file folder.
            examples:
              - car-001.jpg
          valuePriority:
            type:
              - integer
              - 'null'
            minimum: 1
            description: Parameter value priority.
            examples:
              - 1
    productFilteringParameterValues:
      type: array
      items:
        type: object
        additionalProperties: false
        required:
          - name
        properties:
          name:
            type: string
            minLength: 1
            maxLength: 128
            description: Name of parameter value.
            examples:
              - Bavlna
          valueIndex:
            type:
              - string
              - 'null'
            minLength: 1
            maxLength: 255
            pattern: ^[a-zA-Z0-9\-]*$
            description: Url friendly name of parameter value.
            examples:
              - bavlna
          priority:
            type:
              - integer
              - 'null'
            minimum: 1
            description: Parameter value priority.
            examples:
              - 1
          color:
            type:
              - string
              - 'null'
            $ref: '#/components/schemas/typeColor'
            description: Color hex code.
          image:
            type:
              - string
              - 'null'
            minLength: 1
            maxLength: 255
            description: Image name. Image needs to exist in your file folder.
            examples:
              - car-001.jpg
    product:
      type: object
      additionalProperties: false
      required:
        - guid
        - type
        - brand
        - visibility
        - creationTime
        - changeTime
        - shortDescription
        - description
        - metaDescription
        - url
        - defaultCategory
        - variants
        - supplier
        - internalNote
      properties:
        guid:
          $ref: '#/components/schemas/typeGuidUnlimited'
          description: unique product indicator
        type:
          type: string
          description: >-
            product type (`product`, `bazar`...) - see also [Product type code
            list](#section/code-lists/Product-types)
          examples:
            - product
        name:
          type:
            - string
            - 'null'
          description: product name
          examples:
            - Pelle 1978
        brand:
          type:
            - object
            - 'null'
          $ref: '#/components/schemas/brandNamed'
          description: product brand (or manufacturer, possibly)
        supplier:
          type:
            - object
            - 'null'
          $ref: '#/components/schemas/supplier'
          description: product supplier
        visibility:
          type: string
          description: >-
            visibility of product (`normal`, `hidden` ...) - see also [Product
            visibility code list](#section/code-lists/Product-visibility)
          examples:
            - normal
        creationTime:
          $ref: '#/components/schemas/typeDateTime'
          description: date and time of product creation (date in ISO 8601 format)
        changeTime:
          type:
            - string
            - 'null'
          $ref: '#/components/schemas/typeDateTime'
          description: date and time of last product change (date in ISO 8601 format)
        shortDescription:
          type:
            - string
            - 'null'
          description: short product description
          examples:
            - >-
              A high quality jacket, although its fairly bold design is not to
              everyone's taste, it has its fans, so you can find it in our offer
              too. For kids, why not.
        description:
          type:
            - string
            - 'null'
          description: product description. May contain html.
          examples:
            - "<p>As it is often the case with jackets for kids, the emphasis is primarily on durability and quality workmanship. It is clear that it will be put through its paces, which the manufacturer has borne in mind. As previously stated, the manufacturer could also afford a less conservative design for a kids product, combining bold colors with a company logo on the front and back.</p>\n\n<ul>\n\t<li>Body - 60% Nylon, 40% wool</li>\n<li>Inside - 100% Polyester</li>\n</ul>"
        metaDescription:
          type:
            - string
            - 'null'
          description: product label from meta tag.
          examples:
            - >-
              Pelle 1978. A high quality jacket, although its fairly bold design
              is not to everyone's taste .... 
        url:
          type:
            - string
            - 'null'
          description: URL of the product in the e-shop
          examples:
            - >-
              https://www.domena-eshopu.cz/hodinky/citizen-chronograph-eco-drive/
        conditionGrade:
          type:
            - string
            - 'null'
          description: >-
            Grade condition of second-hand product. It contains value only for
            `bazar` type, otherwise, it is `null`.
          examples:
            - used
        conditionDescription:
          type:
            - string
            - 'null'
          description: >-
            Condition description of second-hand product. It contains value only
            for `bazar` type, otherwise, it is `null`.
          examples:
            - Without original package
        internalNote:
          type:
            - string
            - 'null'
          description: product internal note
          examples:
            - This product is not in stock, but it is possible to order it.
        defaultCategory:
          type: object
          additionalProperties: false
          description: default product category
          required:
            - guid
            - name
            - visible
          properties:
            guid:
              type:
                - string
                - 'null'
              $ref: '#/components/schemas/typeGuid'
              description: category unique identifier (can be `null`)
            name:
              type:
                - string
                - 'null'
              description: category description
              examples:
                - Watches
            visible:
              type:
                - boolean
                - 'null'
              description: whether the parameter is visible
              examples:
                - true
        categories:
          type: array
          description: information about available product categories
          items:
            type: object
            additionalProperties: false
            required:
              - guid
              - name
              - parentGuid
            properties:
              guid:
                type:
                  - string
                  - 'null'
                $ref: '#/components/schemas/typeGuid'
                description: category unique identifier (can be `null`)
              name:
                type: string
                description: category name
                examples:
                  - Watches
              parentGuid:
                type:
                  - string
                  - 'null'
                $ref: '#/components/schemas/typeGuid'
                description: parent category unique identifier (can be `null`)
                examples:
                  - c9e976a5-340b-11e4-b500-ac162d8a2454
        descriptiveParameters:
          type: array
          description: product description parameters
          items:
            type: object
            additionalProperties: false
            required:
              - name
              - value
              - description
              - priority
            properties:
              name:
                type: string
                description: parameter name
                examples:
                  - Material
              value:
                type:
                  - string
                  - 'null'
                description: value of the descriptive parameter
                examples:
                  - flannel
              description:
                type:
                  - string
                  - 'null'
                description: parameter name description
                examples:
                  - Material of the product
              priority:
                type:
                  - integer
                  - 'null'
                description: parameter priority
                examples:
                  - 1
        additionalName:
          type:
            - string
            - 'null'
          description: Additional part of product name
          examples:
            - + free gift
        xmlFeedName:
          type:
            - string
            - 'null'
          description: Name of xml feed
          examples:
            - our-feed.xml
        metaTitle:
          type: string
          description: Meta (seo) title
          examples:
            - Nice product title
        adult:
          type: boolean
          description: Flag, whether the product is for adults only
          examples:
            - true
        atypicalBilling:
          type: boolean
          description: (Moved to variant) - Has atypical billing?
          deprecated: true
        atypicalShipping:
          type: boolean
          description: (Moved to variant) - Has atypical shipping?
          examples:
            - true
          deprecated: true
        allowIPlatba:
          type: boolean
          description: Is Cofidis payment allowed?
          examples:
            - true
        allowOnlinePayments:
          type: boolean
          description: Are online Payments allowed?
          examples:
            - true
        sizeIdName:
          type:
            - string
            - 'null'
          description: Name for sizeid.com
          examples:
            - adidas - man - shoes (ID 142)
        voteAverageScore:
          $ref: '#/components/schemas/typeAmount'
          description: Average score of product reviews
          examples:
            - 2.6
        voteCount:
          type:
            - integer
            - 'null'
          description: Count of product reviews
          examples:
            - 16
        isVariant:
          type: boolean
          description: define if product has multiple variants.
          examples:
            - true
        variants:
          type: array
          description: >-
            information about available product variants. For a product without
            variants, this field contains just one element with product details.
          items:
            type: object
            additionalProperties: false
            required:
              - code
              - ean
              - stock
              - unit
              - weight
              - width
              - height
              - depth
              - visible
              - price
              - commonPrice
              - includingVat
              - vatRate
              - currencyCode
              - minStockSupply
              - actionPrice
              - manufacturerCode
              - pluCode
              - isbn
              - serialNo
              - mpn
              - negativeStockAllowed
              - amountDecimalPlaces
            properties:
              code:
                type: string
                description: unique identification of the product variant
                examples:
                  - '0035'
              ean:
                type:
                  - string
                  - 'null'
                description: product variant bar code
                examples:
                  - '4010355051486'
              stock:
                type:
                  - string
                  - 'null'
                $ref: '#/components/schemas/typeAmount'
                description: quantity of goods in stock
                examples:
                  - '1.000'
              unit:
                type:
                  - string
                  - 'null'
                description: unit of goods quantity
                examples:
                  - ks
              weight:
                type:
                  - string
                  - 'null'
                $ref: '#/components/schemas/typeWeight'
                description: weight in kg
                examples:
                  - '0.500'
              width:
                type: string
                $ref: '#/components/schemas/typeDimension'
                description: width of the product in cm
              height:
                type: string
                $ref: '#/components/schemas/typeDimension'
                description: height of the product in cm
              depth:
                type: string
                $ref: '#/components/schemas/typeDimension'
                description: depth of the product in cm
              visible:
                type: boolean
                description: flag, whether the variant is visible
                examples:
                  - true
              price:
                $ref: '#/components/schemas/typePrice'
                description: price
                examples:
                  - '650.00'
              commonPrice:
                $ref: '#/components/schemas/typePrice'
                description: standard price
                examples:
                  - '750.00'
              manufacturerCode:
                type:
                  - string
                  - 'null'
                description: manufacturer code
                examples:
                  - OKI
              pluCode:
                type:
                  - string
                  - 'null'
                description: PLU code
                examples:
                  - '0828'
              isbn:
                type:
                  - string
                  - 'null'
                description: ISBN code
                examples:
                  - 978-80-251-0000-0
              serialNo:
                type:
                  - string
                  - 'null'
                description: serial number
                examples:
                  - '123456'
              mpn:
                type:
                  - string
                  - 'null'
                description: manufacturer part number
                examples:
                  - H2G2-42
              includingVat:
                type: boolean
                description: flag, whether the price is including VAT
                examples:
                  - true
              vatRate:
                type: string
                description: VAT rate in percent
                examples:
                  - '21.00'
              currencyCode:
                type: string
                description: currency code
                examples:
                  - CZK
              minStockSupply:
                type:
                  - string
                  - 'null'
                $ref: '#/components/schemas/typeAmount'
                description: minimum stock supply
                examples:
                  - '10.000'
              actionPrice:
                type:
                  - object
                  - 'null'
                $ref: '#/components/schemas/actionPrice'
                description: special discounted price
              image:
                type:
                  - string
                  - 'null'
                description: >-
                  main image of variant (if set, otherwise the product's main
                  image is to be used).
              isProductDefaultImage:
                type: boolean
                description: >-
                  Determines whether the default product image is given (true)
                  or the product variant image (false).
                examples:
                  - true
              name:
                type:
                  - string
                  - 'null'
                description: >-
                  name composed of the variant parameters, as seen in the
                  e-shop. For products without variants this is `null`. Requires
                  `include=variantParameters` parameter.
                examples:
                  - 'Color: Red, size: 50 cm, shape: Square'
              amountDecimalPlaces:
                type: integer
                description: Number of decimal places for amount
                examples:
                  - 0
              parameters:
                type:
                  - array
                  - 'null'
                items:
                  type: object
                  additionalProperties: false
                  required:
                    - paramName
                    - paramIndex
                    - paramValue
                    - rawValue
                    - color
                    - image
                    - valuePriority
                  properties:
                    paramName:
                      type:
                        - string
                        - 'null'
                      description: human readable name of the variant parameter.
                      examples:
                        - Color
                    paramIndex:
                      type: string
                      description: >-
                        name of the variant parameter without diacritics and
                        spaces
                      examples:
                        - color
                    paramValue:
                      type: string
                      description: human readable value of the variant parameter
                      examples:
                        - Red
                    rawValue:
                      type:
                        - string
                        - 'null'
                      description: >-
                        value of the parameter without variant, without
                        diacritics and spaces.
                      examples:
                        - red
                    color:
                      type:
                        - string
                        - 'null'
                      description: parameter value as color hexadecimal code.
                      examples:
                        - fffeee
                    image:
                      type:
                        - string
                        - 'null'
                      description: URL of the image that serves as the parameter value.
                      examples:
                        - image.jpg
                    valuePriority:
                      type: number
                      description: priority of the parameter value.
                      examples:
                        - 1
              measureUnit:
                type:
                  - object
                  - 'null'
                additionalProperties: false
                description: product measure unit
                required:
                  - packagingAmount
                  - packagingUnitId
                  - packagingUnitName
                  - measureAmount
                  - measureUnitId
                  - measureUnitName
                  - measurePrice
                properties:
                  packagingUnitId:
                    type:
                      - integer
                      - 'null'
                    description: packaging unit identifier
                    examples:
                      - 22
                  packagingUnitName:
                    type:
                      - string
                      - 'null'
                    description: packaging unit name
                    examples:
                      - g
                  packagingAmount:
                    $ref: '#/components/schemas/typeAmount'
                    description: amount being in a package
                    examples:
                      - '64'
                  measureUnitId:
                    type:
                      - integer
                      - 'null'
                    description: measure unit identifier
                    examples:
                      - -22
                  measureUnitName:
                    type:
                      - string
                      - 'null'
                    description: measure unit name
                    examples:
                      - kg
                  measureAmount:
                    $ref: '#/components/schemas/typeAmount'
                    description: referential amount
                    examples:
                      - '1'
                  measurePrice:
                    $ref: '#/components/schemas/typePrice'
                    description: price of package for referential amount
                    examples:
                      - '3937.5'
              availability:
                type:
                  - object
                  - 'null'
                $ref: '#/components/schemas/availabilityShort'
                description: product availability
              availabilityWhenSoldOut:
                type:
                  - object
                  - 'null'
                $ref: '#/components/schemas/availabilityShort'
                description: product availability when not stocked
              negativeStockAllowed:
                type: string
                enum:
                  - yes-global
                  - no-global
                  - 'yes'
                description: >-
                  is negative stock buying allowed? Possible values `yes-global`
                  - yes, set globally, `no-global` - no, `yes` - globally no,
                  but per this variant yes.
                examples:
                  - yes-global
              recyclingFee:
                type:
                  - object
                  - 'null'
                $ref: '#/components/schemas/recyclingFeeCategory'
                description: recycling fee including category and fee
              consumptionTax:
                type:
                  - object
                  - 'null'
                $ref: '#/components/schemas/productConsumptionTax'
                description: consumption tax
              heurekaCPC:
                type:
                  - string
                  - 'null'
                description: Heureka cost per click
                examples:
                  - '0.0'
              zboziCZ:
                type: object
                additionalProperties: false
                description: Information from zbozi.cz
                required:
                  - maximalCPC
                  - maximalSearchCPC
                  - hidden
                properties:
                  maximalCPC:
                    type:
                      - string
                      - 'null'
                    description: Zbozi.cz maximal cost per click
                    examples:
                      - '0.0'
                  maximalSearchCPC:
                    type:
                      - string
                      - 'null'
                    description: Zbozi.cz maximal search cost per click
                    examples:
                      - '0.0'
                  hidden:
                    type:
                      - boolean
                      - 'null'
                    examples:
                      - true
              atypicalBilling:
                type: boolean
                description: Has atypical billing?
                examples:
                  - true
              atypicalShipping:
                type: boolean
                description: Has atypical shipping?
                examples:
                  - true
              perStockAmounts:
                type:
                  - array
                  - 'null'
                description: Variant amounts/claims per individual stocks.
                items:
                  type: object
                  additionalProperties: false
                  required:
                    - stockId
                    - amount
                    - claim
                    - location
                    - lastAmountUpdate
                  properties:
                    stockId:
                      type: integer
                      description: stock unique ID
                      examples:
                        - 1
                    amount:
                      $ref: '#/components/schemas/typeAmount'
                      description: amount of items, products
                      examples:
                        - '50.000'
                    claim:
                      $ref: '#/components/schemas/typeAmount'
                      description: requirements on stock quantity
                      examples:
                        - '5.000'
                    location:
                      type:
                        - string
                        - 'null'
                      description: stock position, can be `null`
                      examples:
                        - Location 4
                    lastAmountUpdate:
                      type:
                        - string
                        - 'null'
                      $ref: '#/components/schemas/typeDateTime'
                      description: >-
                        date and time of last change of stock quantity (ISO 8601
                        format), can be `null`
                      examples:
                        - 2024-01-04T10:55:55+0100
              perPricelistPrices:
                type:
                  - array
                  - 'null'
                description: Variant prices per individual pricelists.
                items:
                  type: object
                  additionalProperties: false
                  required:
                    - code
                    - currencyCode
                    - includingVat
                    - vatRate
                    - price
                    - sales
                    - orderableAmount
                    - pricelistId
                  properties:
                    code:
                      type: string
                      description: identifier of product variant
                      examples:
                        - '0008'
                    currencyCode:
                      $ref: '#/components/schemas/typeCurrencyCode'
                      examples:
                        - EUR
                    includingVat:
                      type: boolean
                      description: flag, if price is including VAT
                      examples:
                        - true
                    vatRate:
                      $ref: '#/components/schemas/typeVatRate'
                      description: VAT rate
                      examples:
                        - 21
                    price:
                      $ref: '#/components/schemas/variantPrice'
                    sales:
                      $ref: '#/components/schemas/priceSales'
                    orderableAmount:
                      $ref: '#/components/schemas/productOrderableAmount'
                    pricelistId:
                      type: integer
                      description: price list identifier
                      examples:
                        - 1
              url:
                type:
                  - string
                  - 'null'
                description: >-
                  If product has multiple variants, URL of the variant is
                  provided.
                examples:
                  - https://www.domena-eshopu.cz/category/?variantId=51238
        images:
          type: array
          description: information about images.
          items:
            type: object
            additionalProperties: false
            required:
              - name
              - seoName
              - cdnName
              - priority
              - description
              - changeTime
            properties:
              name:
                type: string
                description: >-
                  image file name, also serves as an identifier for the image of
                  the product. To assemble complete URL, it is added to the
                  `urlPath` obtained from the endpoint e-shop info
                  `/api/eshop?include=imageCuts`.
                examples:
                  - 100.jpg
              seoName:
                type: string
                description: file name modified for SEO - a short label is attached.
                examples:
                  - 100_purple-apple.jpg
              cdnName:
                type: string
                description: >-
                  same as `seoName` with attached hashed last image change time.
                  `name`, `seoName` and `cdnName` can be entered in the URL -
                  redirect will deliver the same image.
                examples:
                  - 100_purple-apple.jpg?59393c3a
              priority:
                type:
                  - integer
                  - 'null'
                description: >-
                  the key for the sequence of images matching the sequence in
                  administration - it's not necessarily from the first, and the
                  series may contain gaps.
                examples:
                  - 1
              description:
                type:
                  - string
                  - 'null'
                description: image label
                examples:
                  - Fresh purple apple for Snow White
              changeTime:
                type:
                  - string
                  - 'null'
                $ref: '#/components/schemas/typeDateTime'
                description: >-
                  last image change time If you are saving images together, you
                  can use this timestamp to indicate if you need to reload the
                  image.
              isMainImage:
                type: boolean
                description: determines whether it is the main image
        flags:
          type: array
          description: product flags
          items:
            type: object
            additionalProperties: false
            required:
              - code
              - title
              - dateFrom
              - dateTo
            properties:
              code:
                type: string
                description: flag identifier
                examples:
                  - action
              title:
                type: string
                description: flag name
                examples:
                  - Action
              dateFrom:
                $ref: '#/components/schemas/typeDate'
                description: date from which the flag is valid
              dateTo:
                $ref: '#/components/schemas/typeDate'
                description: date to which the flag is valid
        surchargeParameters:
          type: array
          description: product surcharge parameters
          items:
            $ref: '#/components/schemas/productSurchargeParameter'
        setItems:
          type:
            - array
            - 'null'
          description: information about items, products, in set
          items:
            type: object
            additionalProperties: false
            required:
              - guid
              - code
              - amount
            properties:
              guid:
                $ref: '#/components/schemas/typeGuidUnlimited'
                description: global unique permanent category identifier
              code:
                type: string
                minLength: 1
                description: product code
                examples:
                  - '154'
              amount:
                type: string
                $ref: '#/components/schemas/typePositiveAmount'
                description: amount of items, products
                examples:
                  - 1
        filteringParameters:
          type: array
          description: product filtering parameters
          items:
            type: object
            additionalProperties: false
            required:
              - code
              - name
              - displayName
              - description
              - priority
              - googleMapping
              - values
            properties:
              code:
                type: string
                description: parameter code
                examples:
                  - material
              name:
                type: string
                description: parameter name
                examples:
                  - Material
              displayName:
                type:
                  - string
                  - 'null'
                description: parameter display name
                examples:
                  - Material of product
              description:
                type:
                  - string
                  - 'null'
                description: parameter description
                examples:
                  - Material of the product
              priority:
                type:
                  - integer
                  - 'null'
                description: parameter priority
                examples:
                  - 1
              googleMapping:
                $ref: '#/components/schemas/googleMappingType'
                description: Possible parameter mapping with google
              values:
                type: array
                description: possible parameter's values
                items:
                  type: object
                  additionalProperties: false
                  required:
                    - valueIndex
                    - name
                    - priority
                    - color
                    - image
                  properties:
                    valueIndex:
                      type:
                        - string
                        - 'null'
                      description: Code (identifier) of parameter's value
                      examples:
                        - ag
                    name:
                      type: string
                      description: Description (name) of parameter's value
                      examples:
                        - Gold
                    priority:
                      type:
                        - integer
                        - 'null'
                      description: Priority of parameter's value
                      examples:
                        - 1
                    color:
                      type:
                        - string
                        - 'null'
                      description: Hex code of color
                      examples:
                        - '#34ff34'
                    image:
                      type:
                        - string
                        - 'null'
                      description: URL of image
                      examples:
                        - https://www.domena-eshopu.cz/user/parameters/100.jpg
        warranty:
          type:
            - object
            - 'null'
          additionalProperties: false
          description: product warranty
          required:
            - id
            - inMonths
            - description
          properties:
            id:
              type: integer
              description: >-
                Warranty id. Negative number indicates system warranties.
                Positive numbers are defined by customer.
              examples:
                - -1
            inMonths:
              type:
                - integer
                - 'null'
              description: >-
                Warranty length in months. Negative number (`-1`) means infinite
                (lifetime) warranty.
              examples:
                - 24
            description:
              type: string
              description: Warranty description
              examples:
                - 2 years
        gifts:
          $ref: '#/components/schemas/productGifts'
          description: Gifts related to product
        alternativeProducts:
          type:
            - array
            - 'null'
          items:
            $ref: '#/components/schemas/relatedProduct'
        relatedProducts:
          type:
            - array
            - 'null'
          items:
            $ref: '#/components/schemas/relatedProduct'
        relatedFiles:
          type: array
          description: files related to product
          items:
            type: object
            additionalProperties: false
            required:
              - name
              - url
              - size
            properties:
              name:
                type:
                  - string
                  - 'null'
                description: related file title
                examples:
                  - Example file
              url:
                type: string
                description: related file URL
                examples:
                  - >-
                    https://www.domena-eshopu.cz/user/related_files/example-file.txt
              size:
                type:
                  - integer
                  - 'null'
                description: related file size
                examples:
                  - 1024
        relatedVideos:
          type: array
          description: Videos related to product
          items:
            type: object
            additionalProperties: false
            required:
              - code
              - title
              - type
            properties:
              code:
                type: string
                maxLength: 32
                description: urelated video YouTube code
                examples:
                  - zpvmPA3me7o
              title:
                type:
                  - string
                  - 'null'
                maxLength: 128
                description: related video title
                examples:
                  - How to use the product
              type:
                enum:
                  - youtube
                  - youtube-short
                description: related video type
                examples:
                  - youtube-short
    category:
      type: object
      additionalProperties: false
      required:
        - guid
        - name
        - image
        - description
        - secondDescription
        - indexName
        - url
        - parentGuid
        - priority
        - menuTitle
        - title
        - metaTagDescription
        - visible
        - customerVisibility
        - similarProductsCategory
        - relatedProductsCategory
        - productOrdering
        - catalogueMapping
      properties:
        guid:
          type:
            - string
            - 'null'
          $ref: '#/components/schemas/typeGuid'
          description: unique category identificator
        name:
          type: string
          description: category name
          examples:
            - Category name
        image:
          type:
            - string
            - 'null'
          description: header image (can be `null`)
          examples:
            - >-
              https://beta.shoptet.cz/user/categories/thumb/supreme-plush-santa-hat.jpg
        description:
          type:
            - string
            - 'null'
          description: top category description (can be `null`)
          examples:
            - <p>Horní popis kategorie</p>
        secondDescription:
          type:
            - string
            - 'null'
          description: bottom category description (can be `null`)
          examples:
            - <p>Dolní popis kategorie</p>
        indexName:
          type: string
          description: ending part of category URL
          examples:
            - sport-a-relax
        url:
          type: string
          description: category URL in the e-shop
          examples:
            - https://beta.shoptet.cz/sport-a-relax
        parentGuid:
          type:
            - string
            - 'null'
          $ref: '#/components/schemas/typeGuid'
          description: >-
            unique identifier of the parent category (`null`, if there is no
            parent category)
        priority:
          type:
            - number
            - 'null'
          description: priority (specifies the order of categories)
          examples:
            - 1
        menuTitle:
          type:
            - string
            - 'null'
          description: category name in the e-shop menu
          examples:
            - Watches
        title:
          type:
            - string
            - 'null'
          description: HTML title element in the HTML header of the category page
          examples:
            - Purple M size T-shirts - cotton
        metaTagDescription:
          type:
            - string
            - 'null'
          description: HTML META header `Description` in category page
          examples:
            - T-shirts, cotton, M size, purple, pink, wine red
        visible:
          type: boolean
          description: flag, whether the category is visible
          examples:
            - true
        similarProductsCategory:
          type:
            - string
            - 'null'
          description: >-
            GUID category, in which the products are similar to this category
            (can be `null`)
          examples:
            - 07f7a4c1-d7b1-11e0-9a5c-feab5ed617ed
        relatedProductsCategory:
          type:
            - string
            - 'null'
          description: >-
            GUID category, in which the products are related to this category
            (can be `null`)
          examples:
            - 07f7a4c1-d7b1-11e0-9a5c-feab5ed617ed
        customerVisibility:
          type:
            - string
            - 'null'
          description: >-
            defines, which users of the e-shop have the category shown - `all` =
            all, `registered` = registered users, `unregistered` =
            non-registered users
          examples:
            - all
        productOrdering:
          type:
            - string
            - 'null'
          description: >-
            defines, how products are sorted in a category. See also code list
            [Classification of products in
            category](#section/code-lists/Sorting-of-products-in-category)
          examples:
            - alphabetically
        catalogueMapping:
          type: array
          description: >-
            pairing to search engines such as Zboží, Heuréka, Google, etc. (can
            be `null`)
          items:
            type: object
            additionalProperties: false
            required:
              - provider
              - category
            properties:
              provider:
                type: string
                description: heureka
              category:
                type: string
                description: Clothing | Women's T-Shirts
    orderItem:
      type: object
      additionalProperties: false
      required:
        - productGuid
        - code
        - ean
        - itemType
        - name
        - variantName
        - brand
        - remark
        - weight
        - additionalField
        - amount
        - amountUnit
        - priceRatio
        - status
        - itemPrice
        - recyclingFee
        - itemId
        - warrantyDescription
        - amountCompleted
      properties:
        productGuid:
          type:
            - string
            - 'null'
          $ref: '#/components/schemas/typeGuidUnlimited'
          description: >-
            product identifier of the item. At the time the order is created, it
            will be entered in this field, but when the product is deleted, the
            link will be lost (can be `null`)
        code:
          type:
            - string
            - 'null'
          description: >-
            identifier of the item code (product or variant). At the time the
            order is created, it will be entered in this field, but when the
            product is deleted, the link will be lost.
          examples:
            - 40/ZEL
        ean:
          type:
            - string
            - 'null'
          description: EAN of the product variant (can be `null`)
          examples:
            - '12345678901234'
        itemType:
          type: string
          description: >-
            order item type (product, service...). See also [Code list of order
            item types](#section/code-lists/Types-of-order-items)
          examples:
            - product
        productType:
          type:
            - string
            - 'null'
          description: >-
            product type at the time of the order (product, product-set..). See
            also [Product type code list](#section/code-lists/Product-types)
            (can be `null`).
          examples:
            - product
        name:
          type: string
          description: Product name, with possible addition (`Free Gift`)
          examples:
            - Complete  + Addition to the name
        variantName:
          type:
            - string
            - 'null'
          description: variant name (can be `null`)
          examples:
            - Name
        brand:
          type:
            - string
            - 'null'
          description: product brand (or manufacturer, possibly)
          examples:
            - Test
        remark:
          type:
            - string
            - 'null'
          description: remark
          examples:
            - This is a remark
        weight:
          $ref: '#/components/schemas/typeWeight'
        additionalField:
          type:
            - string
            - 'null'
          description: additional field for remarks
          examples:
            - Online payment
        amount:
          $ref: '#/components/schemas/typeAmount'
          description: product quantity
          examples:
            - 1
        amountUnit:
          type:
            - string
            - 'null'
          description: product unit of quantity
          examples:
            - ks
        priceRatio:
          $ref: '#/components/schemas/typePriceRatio'
          description: >-
            price coefficient. This also represents a discount (discount `10 %`
            means `priceRatio = 0.9`)
        status:
          type: object
          additionalProperties: false
          required:
            - name
            - id
          properties:
            name:
              type:
                - string
                - 'null'
              description: order item status description (can be `null`)
              examples:
                - Canceled
            id:
              type: number
              description: identifier of order item status
              examples:
                - -1
        itemPrice:
          $ref: '#/components/schemas/itemPrice'
          description: >-
            the price of the item including the discount (`priceRatio`) and
            quantity (`amount`).
        displayPrices:
          type: array
          items:
            $ref: '#/components/schemas/itemPrice'
        buyPrice:
          type:
            - object
            - 'null'
          $ref: '#/components/schemas/itemPrice'
          description: >-
            purchase price of the item including the discount (`priceRatio`) and
            quantity (`amount`).  (or possibly `null`)
        recyclingFee:
          $ref: '#/components/schemas/recyclingFee'
          description: recycling fee including category and price (or possibly `null`).
        mainImage:
          type:
            - object
            - 'null'
          additionalProperties: false
          required:
            - name
            - seoName
            - cdnName
            - priority
            - description
            - changeTime
          properties:
            name:
              type: string
              description: >-
                image file name, also serves as an identifier for the image of
                the product. To assemble complete URL, it is added to the
                `urlPath` obtained from the endpoint e-shop info
                `/api/eshop?include=imageCuts`.
              examples:
                - 100.jpg
            seoName:
              type: string
              description: file name modified for SEO - a short label is attached.
              examples:
                - 100_purple-apple.jpg
            cdnName:
              type: string
              description: >-
                same as `seoName` with attached hashed last image change time.
                `name`, `seoName` and `cdnName` can be entered in the URL -
                redirect will deliver the same image.
              examples:
                - 100_purple-apple.jpg?59393c3a
            priority:
              type: number
              description: >-
                the key for the sequence of images matching the sequence in
                administration - it's not necessarily from the first, and the
                series may contain gaps. (can be `null`).
              examples:
                - 1
            description:
              type:
                - string
                - 'null'
              description: description of the image (can be `null`).
              examples:
                - Fresh purple apple for Snow White
            changeTime:
              type:
                - string
                - 'null'
              $ref: '#/components/schemas/typeDateTime'
              description: >-
                last image change time If you are saving images together, you
                can use this timestamp to indicate if you need to reload the
                image. (can be `null`).
        stockLocation:
          type:
            - string
            - 'null'
          description: position in stock (can be `null`)
          examples:
            - H6/M11/R13
        supplierName:
          type:
            - string
            - 'null'
          description: product supplier (can be `null`)
          examples:
            - Dodavatel s.r.o
        itemId:
          type: number
          description: order item identifier
          examples:
            - 342
        warrantyDescription:
          type:
            - string
            - 'null'
          description: textual description of warranty length (can be `null`)
          examples:
            - 24 months
        amountCompleted:
          $ref: '#/components/schemas/typePositiveAmount'
          description: quantity of completed product
          examples:
            - 1
        surchargeParametersTexts:
          type: array
          description: List of custom surcharge parameters names
          items:
            type: string
          deprecated: true
        surchargeParameters:
          $ref: '#/components/schemas/itemSurchargeParameters'
          description: >-
            items surcharge parameters, filled in order creation. Cannot be
            edited.
        specificSurchargeParameters:
          $ref: '#/components/schemas/itemSpecificSurchargeParameters'
          description: >-
            list of specific surcharge parameters for order item detail, created
            from `surchargeParameters`, but editable in order item detail in
            eshop administration or via order item detail surcharge-parameters
            endpoint.
        productFlags:
          $ref: '#/components/schemas/productFlags'
          description: list of product flags
        consumptionTax:
          $ref: '#/components/schemas/documentConsumptionTax'
          description: consumption tax of order item
    relatedProduct:
      type: object
      additionalProperties: false
      required:
        - guid
        - priority
      properties:
        guid:
          $ref: '#/components/schemas/typeGuidUnlimited'
          description: related product identifier
        priority:
          type: integer
          description: Priority of product in related products list
          examples:
            - 1
        visibility:
          type: string
          description: >-
            visibility of product (`normal`, `hidden` ...) - see also [Product
            visibility code list](#section/code-lists/Product-visibility)
          examples:
            - normal
    productSet:
      type:
        - object
        - 'null'
      additionalProperties: false
      required:
        - guid
        - code
        - amount
      properties:
        guid:
          $ref: '#/components/schemas/typeGuidUnlimited'
          description: product identifier
        code:
          type: string
          minLength: 1
          description: product code
          examples:
            - '154'
        amount:
          type: string
          $ref: '#/components/schemas/typePositiveAmount'
          description: amount of items, products
          examples:
            - 1
    productGifts:
      type: array
      items:
        type: object
        additionalProperties: false
        required:
          - code
          - priority
        properties:
          code:
            type: string
            description: product variant identifier
            examples:
              - '0008'
          priority:
            type: integer
            description: variant priority
            examples:
              - 1
    orderGift:
      type: object
      additionalProperties: false
      required:
        - id
        - code
        - currencyCode
        - orderPrice
        - includingVat
        - priority
      properties:
        id:
          type: integer
          description: primary key of gift, should be used when delete gift
          examples:
            - 1
        code:
          type: string
          description: identifier of product variant, which will be added as a gift
          examples:
            - '0008'
        currencyCode:
          $ref: '#/components/schemas/typeCurrencyCode'
        orderPrice:
          $ref: '#/components/schemas/typePrice'
          description: price which order total price should overcome. to add this gift
        includingVat:
          type: boolean
          description: flag, if price is including VAT
          examples:
            - true
        priority:
          type: integer
          description: define order
          examples:
            - 1
    article:
      type: object
      additionalProperties: false
      required:
        - id
        - language
        - title
        - indexName
        - redirectUrl
        - content
        - metaTitle
        - metaKeywords
        - metaDescription
        - publishDate
        - changeDate
        - visible
        - access
      properties:
        id:
          type: number
          description: article ID
          examples:
            - 1
        defaultSectionId:
          type: number
          description: article section ID
          examples:
            - '682'
        sectionId:
          type: number
          description: article section ID
          examples:
            - '682'
          deprecated: true
        sectionIds:
          type:
            - array
            - 'null'
          description: array of section IDs
          items:
            type: number
            examples:
              - '682'
        title:
          type: string
          description: article title
          examples:
            - Test
        language:
          type: string
          description: article language
          examples:
            - cs
        indexName:
          type:
            - string
            - 'null'
          description: ending part of article URL
          examples:
            - new-article
        url:
          type: string
          description: article URL
          examples:
            - https://www.some-eshop-url.com/blog/new-article
        urls:
          type: array
          description: array of section IDs and their URLs
          items:
            $ref: '#/components/schemas/articleUrls'
        redirectUrl:
          type:
            - string
            - 'null'
          description: canonical URL for redirecting
          examples:
            - https://www.someurl.com
        content:
          type:
            - string
            - 'null'
          description: article content
          examples:
            - <p>Content of the article</p>
        metaTitle:
          type:
            - string
            - 'null'
          description: article meta title
          examples:
            - Test article"
        metaKeywords:
          type:
            - string
            - 'null'
          description: article keywords
          examples:
            - test
          deprecated: true
        metaDescription:
          type:
            - string
            - 'null'
          description: article meta description
          examples:
            - Test article
        publishDate:
          type:
            - string
            - 'null'
          $ref: '#/components/schemas/typeDateTime'
          description: article date of publishing
          examples:
            - 2014-11-19T00:00:00+0100
        changeDate:
          type:
            - string
            - 'null'
          $ref: '#/components/schemas/typeDateTime'
          description: article date of the last modification
          examples:
            - 2014-11-19T00:00:00+0100
        visible:
          type: boolean
          description: flag whether the article is visible on web
          examples:
            - true
        access:
          enum:
            - all
            - logged-in
            - logged-out
          description: >-
            flag indicating, whether the article can be viewed by everyone
            (value of the flag is: `all`), by logged in users only
            ('logged-in'), or by logged out users only ('logged-out')
          examples:
            - logged-in
        image:
          type:
            - string
            - 'null'
          description: article image
          examples:
            - https://www.some-eshop-url.com/image.jpg
        ogImage:
          type:
            - string
            - 'null'
          description: article og:image
          examples:
            - https://www.some-eshop-url.com/image.jpg
    articleList:
      type: object
      additionalProperties: false
      required:
        - id
        - title
        - publishDate
        - visible
      properties:
        id:
          type: number
          description: article ID
          examples:
            - 1
        defaultSectionId:
          type: number
          description: article section ID
          examples:
            - '682'
        sectionId:
          type: number
          description: article section ID
          examples:
            - '682'
        title:
          type: string
          description: article title
          examples:
            - Test
        url:
          type: string
          description: article URL
          examples:
            - https://www.some-eshop-url.com/blog/new-article
        publishDate:
          type:
            - string
            - 'null'
          $ref: '#/components/schemas/typeDateTime'
          description: article date of publishing
        visible:
          type: boolean
          description: flag whether the article is visible on web
          examples:
            - true
        image:
          type:
            - string
            - 'null'
          description: article image
          examples:
            - https://www.some-eshop-url.com/image.jpg
    articleSection:
      type: object
      additionalProperties: false
      required:
        - id
        - language
        - title
      properties:
        id:
          type: number
          description: article section ID
          examples:
            - 1
        parentId:
          type:
            - number
            - 'null'
          description: article section parent ID
          examples:
            - 1
        title:
          type: string
          description: article section title
          examples:
            - Test
        language:
          type: string
          description: article section language
          examples:
            - cs
        indexName:
          type:
            - string
            - 'null'
          description: ending part of article section URL
          examples:
            - new-article
        url:
          type:
            - string
          description: article section URL
          examples:
            - new-article
        description:
          type:
            - string
            - 'null'
          description: article section content
          examples:
            - <p>Content of the article section</p>
        secondDescription:
          type:
            - string
            - 'null'
          description: article section content secondary
          examples:
            - <p>Content of the secondary article section</p>
        limit:
          type:
            - number
            - 'null'
          description: Number of articles displayed in the listing
          examples:
            - 4
        homepageLimit:
          type:
            - number
            - 'null'
          description: Number of articles displayed on the homepage
          examples:
            - 4
        sorting:
          enum:
            - alphabetically
            - newest-first
            - oldest-first
          description: Article sorting in the listing
          examples:
            - alphabetically
        perexLimit:
          type:
            - number
            - 'null'
          description: Number of character displayed in the article perex
          examples:
            - 100
        hidePublishDate:
          type: boolean
          description: Hide article publish date in the listing
          examples:
            - false
        showPrevNext:
          type: boolean
          description: Show next/previous buttons in the listing
          examples:
            - true
        showOnHomepage:
          type: boolean
          description: Show articles on the homepage
          examples:
            - false
        linkText:
          type:
            - string
            - 'null'
          description: Link text (in the menu)
          examples:
            - Test articles
        metaTitle:
          type:
            - string
            - 'null'
          description: article meta title
          examples:
            - Test articles
        metaDescription:
          type:
            - string
            - 'null'
          description: article meta description
          examples:
            - Test articles
        canonicalLinkUrl:
          type:
            - string
            - 'null'
          description: Canonical link URL
          examples:
            - https://www.someurl.com
        visible:
          type: boolean
          description: flag whether the article section is visible on web
          examples:
            - true
        access:
          enum:
            - all
            - logged-in
            - logged-out
          description: >-
            flag indicating, whether the article section can be viewed by
            everyone (value of the flag is: `all`), by logged in users only
            ('logged-in'), or by logged out users only ('logged-out')
          examples:
            - logged-in
        image:
          type:
            - string
            - 'null'
          description: article section image
          examples:
            - https://www.some-eshop-url.com/image.jpg
        ogImage:
          type:
            - string
            - 'null'
          description: article section open graph image
          examples:
            - https://www.some-eshop-url.com/image.jpg
    articleSectionList:
      type: object
      additionalProperties: false
      required:
        - id
        - title
      properties:
        id:
          type: number
          description: article section ID
          examples:
            - '683'
        title:
          type: string
          description: article section title
          examples:
            - Blog
        language:
          type: string
          description: article section language
          examples:
            - cs
    googleMappingType:
      type:
        - object
        - 'null'
      additionalProperties: false
      description: Possible parameter mapping with google
      properties:
        value:
          type: string
          description: Code (identifier) of google mapping parameter
          examples:
            - google:color
        description:
          type:
            - string
            - 'null'
          description: Description (name) of google mapping parameter
          examples:
            - Color
    discussionPost:
      type: object
      additionalProperties: false
      required:
        - id
        - parentId
        - productGuid
        - customerGuid
        - name
        - email
        - title
        - content
        - creationDate
        - authorized
      properties:
        id:
          type: number
          description: discussion post ID
          examples:
            - 2
        parentId:
          type:
            - number
            - 'null'
          description: discussion post parent ID
          examples:
            - 1
        productGuid:
          type:
            - string
            - 'null'
          description: product guid of the product associated to the post
          examples:
            - 07f7a4c1-d7b1-11e0-9a5c-feab5ed617ed
        customerGuid:
          type:
            - string
            - 'null'
          description: customer guid of the customer associated to the post
          examples:
            - 07f7a4c1-d7b1-11e0-9a5c-feab5ed617ed
        name:
          type:
            - string
            - 'null'
          description: name of the author
          examples:
            - John Doe
        email:
          type:
            - string
            - 'null'
          description: email of the author
          examples:
            - john.doe@example.com
        title:
          type:
            - string
            - 'null'
          description: title of the post
          examples:
            - Some title
        content:
          type:
            - string
            - 'null'
          description: content of the post
          examples:
            - Some content
        creationDate:
          type:
            - string
            - 'null'
          $ref: '#/components/schemas/typeDateTime'
          description: date and time of the post creation
        authorized:
          type: boolean
          description: flag whether the post is authorized (visible on the web)
          examples:
            - true
    pageList:
      type: object
      additionalProperties: false
      required:
        - id
        - title
      properties:
        id:
          type: number
          description: page ID
          examples:
            - 1
        title:
          type: string
          description: page title
          examples:
            - About us
        url:
          type: string
          description: page URL
          examples:
            - https://www.some-eshop-url.com/about-us
        visible:
          type: boolean
          description: flag whether the page is visible on web
          examples:
            - true
    page:
      type: object
      additionalProperties: false
      required:
        - id
        - language
        - title
        - content
        - url
        - linkText
        - metaTitle
        - metaDescription
        - visible
        - access
      properties:
        id:
          type: number
          description: page ID
          examples:
            - 1
        language:
          type: string
          description: page language
          examples:
            - cs
        title:
          type: string
          description: page title
          examples:
            - About us
        content:
          type:
            - string
            - 'null'
          description: page content
          examples:
            - <p>Content of the page</p>
        url:
          type: string
          description: page URL
          examples:
            - https://www.some-eshop-url.com/about-us
        linkText:
          type:
            - string
            - 'null'
          description: text of the page link
          examples:
            - About us
        metaTitle:
          type:
            - string
            - 'null'
          description: page meta title
          examples:
            - About us page
        metaDescription:
          type:
            - string
            - 'null'
          description: page meta description
          examples:
            - About us page description
        visible:
          type: boolean
          description: flag whether the page is visible on web
          examples:
            - true
        access:
          enum:
            - all
            - logged-in
            - logged-out
          description: >-
            flag indicating, whether the page can be viewed by everyone (value
            of the flag is: 'all'), by logged in users only ('logged-in'), or by
            logged out users only ('logged-out')
          examples:
            - logged-in
    parameterValueCombinations:
      type: object
      additionalProperties: false
      required:
        - parameterCode
        - parameterName
        - valueCode
        - valueName
      properties:
        parameterCode:
          type: string
          description: Code of the parameter
          examples:
            - color
        parameterName:
          type: string
          description: Name of the parameter
          examples:
            - Color
        valueCode:
          type: string
          description: Code of the parameter value
          examples:
            - red
        valueName:
          type: string
          description: Name of the parameter value
          examples:
            - Red
    xyDiscount:
      type: object
      additionalProperties: false
      required:
        - id
        - title
        - validFrom
        - validTo
        - customerGroups
        - xAmount
        - yAmount
        - description
        - termsAndConditionsUrl
        - displayFlag
        - flagColor
        - priority
        - usageCount
        - displayBanner
        - bannerColor
        - xTargeting
        - yTargeting
        - includeUnregisteredCustomers
      properties:
        id:
          type: integer
          description: discount ID
          examples:
            - 1
        title:
          type: string
          description: discount title
          examples:
            - 18 + 4 free
        validFrom:
          $ref: '#/components/schemas/typeDate'
          description: date of discount validity from
          examples:
            - '2014-11-19'
        validTo:
          $ref: '#/components/schemas/typeDate'
          description: date of discount validity to
          examples:
            - '2014-12-19'
        customerGroups:
          type:
            - array
            - 'null'
          description: customer groups connected to discount
          items:
            type: object
            additionalProperties: false
            required:
              - code
              - name
            properties:
              code:
                type: string
                description: customer group code
                examples:
                  - retail
              name:
                type: string
                description: customer group name
                examples:
                  - Retail customer
        xAmount:
          type: string
          $ref: '#/components/schemas/typeAmount'
          description: amount of products needed to get discount
          examples:
            - '2.000'
        yAmount:
          type: string
          $ref: '#/components/schemas/typeAmount'
          description: amount of products get by discount
          examples:
            - '1.000'
        description:
          type:
            - string
            - 'null'
          description: discount description
          examples:
            - <p>Content of the article</p>
        termsAndConditionsUrl:
          type:
            - string
            - 'null'
          description: url address lead to terms of discount
          examples:
            - https://test.myshoptet.com/test
        displayFlag:
          type: boolean
          description: whether the flag is displayed
          examples:
            - true
        flagColor:
          type:
            - string
            - 'null'
          $ref: '#/components/schemas/typeColor'
          description: color of the flag
        displayBanner:
          type: boolean
          description: flag whether the banner is displayed
          examples:
            - true
        bannerColor:
          type:
            - string
            - 'null'
          $ref: '#/components/schemas/typeColor'
          description: color of the banner
        priority:
          type:
            - integer
            - 'null'
          description: priority of the discount
          examples:
            - 1
        usageCount:
          type:
            - integer
            - 'null'
          description: number of how many times can be discount used
          examples:
            - 1000
        xTargeting:
          $ref: '#/components/schemas/xyDiscountTargetingResponse'
          description: definition of products needed to get discount
        yTargeting:
          $ref: '#/components/schemas/xyDiscountTargetingResponse'
          description: definition of products get by discount
        includeUnregisteredCustomers:
          type: boolean
          description: >-
            defines if discount is valid for unregistered customers, default
            value is `false`
          examples:
            - true
    xyDiscountTargetingResponse:
      type:
        - object
        - 'null'
      required:
        - productGuids
        - categoryGuids
        - brandCodes
      description: definition of products needed to get discount
      additionalProperties: false
      properties:
        productGuids:
          type:
            - array
            - 'null'
          description: array of product guids
          items:
            type: string
            examples:
              - 356eb81e-d966-11e0-b04f-57a43310b768
        categoryGuids:
          type:
            - array
            - 'null'
          description: array of page guids (categories)
          items:
            type: string
            examples:
              - 07f7a4c1-d7b1-11e0-9a5c-feab5ed617ed
        brandCodes:
          type:
            - array
            - 'null'
          description: array of brand codes
          items:
            type: string
            examples:
              - brand-1
    xyDiscountTargetingPostRequest:
      type: object
      minProperties: 1
      properties:
        productGuids:
          type: array
          minItems: 1
          description: array of product guids
          items:
            type: string
            examples:
              - 356eb81e-d966-11e0-b04f-57a43310b768
        categoryGuids:
          type: array
          description: array of page guids (categories)
          minItems: 1
          items:
            type: string
            examples:
              - 07f7a4c1-d7b1-11e0-9a5c-feab5ed617ed
        brandCodes:
          type: array
          minItems: 1
          description: array of brand codes
          items:
            type: string
            examples:
              - brand-1
    proofPaymentVatBreakdown:
      type:
        - object
        - 'null'
      additionalProperties: false
      required:
        - items
        - summary
      properties:
        items:
          type: array
          description: breakdown of VAT items
          items:
            type: object
            additionalProperties: false
            required:
              - vatRate
              - priceWithVat
              - priceWithoutVat
              - vat
            properties:
              vatRate:
                $ref: '#/components/schemas/typeVatRate'
                description: VAT rate
                examples:
                  - 21
              priceWithVat:
                $ref: '#/components/schemas/typePrice'
                description: price with VAT
                examples:
                  - 121
              priceWithoutVat:
                $ref: '#/components/schemas/typePrice'
                description: price without VAT
                examples:
                  - 100
              vat:
                $ref: '#/components/schemas/typePrice'
                description: VAT value
                examples:
                  - 21
        summary:
          type: object
          additionalProperties: false
          required:
            - withVat
            - withoutVat
            - vat
          description: summary of VAT breakdown
          properties:
            withVat:
              $ref: '#/components/schemas/typePrice'
              description: Total price with VAT
              examples:
                - 121
            withoutVat:
              $ref: '#/components/schemas/typePrice'
              description: Total price without VAT
              examples:
                - 100
            vat:
              $ref: '#/components/schemas/typePrice'
              description: Total VAT value
              examples:
                - 21
    proofPaymentsList:
      type: object
      additionalProperties: false
      required:
        - code
        - orderCode
        - proformaInvoiceCode
        - invoiceCode
        - issueDate
        - billFullName
        - payment
        - isValid
        - closed
      properties:
        code:
          type: string
          description: >-
            proof payments identifier. Caution! This does not have to be just a
            number, it can also contain letters, a dash, etc.
          examples:
            - P--2015000170-1
        orderCode:
          type:
            - string
            - 'null'
          description: order code (can be `null`)
          examples:
            - '2015000001'
        proformaInvoiceCode:
          type:
            - string
            - 'null'
          description: proforma invoice code (can be `null`)
          examples:
            - '2015000170'
        issueDate:
          $ref: '#/components/schemas/typeDateTime'
          description: Linked to invoice code (can be `null`)
        billFullName:
          type:
            - string
            - 'null'
          description: name on the bill
          examples:
            - John Doe
        payment:
          $ref: '#/components/schemas/typePrice'
          description: total price on the bill
          examples:
            - 100
        isValid:
          type: boolean
          description: is the proof payment valid?
          examples:
            - true
        vatMode:
          type:
            - string
            - 'null'
          description: >-
            VAT mode, can be null, for possible values see [VAT
            modes](#section/code-lists/VAT-modes)
          examples:
            - Normal
        invoiceCode:
          type:
            - string
            - 'null'
          description: Linked to invoice code (can be `null`)
          examples:
            - '2017100013'
        closed:
          type: boolean
          description: is the proof payment closed?
          examples:
            - true
    proofPaymentDetail:
      type: object
      additionalProperties: false
      required:
        - code
        - orderCode
        - proformaInvoiceCode
        - invoiceCode
        - createdAt
        - updatedAt
        - issueDate
        - taxDate
        - isValid
        - currencyCode
        - payment
        - closed
        - billFullName
        - billCompany
        - billStreet
        - billHouseNumber
        - billCity
        - billDistrict
        - billAdditional
        - billZip
        - billCountryCode
        - billRegionName
        - billRegionShortcut
        - vatId
        - taxId
        - companyId
        - language
        - email
        - phone
        - source
        - cashdeskId
        - customerGuid
        - customerProfileId
        - identificationNumber
        - remark
        - varSymbol
        - constSymbol
        - specSymbol
        - billingMethod
        - billBankAccount
        - billIban
        - billBic
        - bankAccount
        - iban
        - bic
        - documentRemark
        - vatBreakdown
      properties:
        code:
          type: string
          description: >-
            proof payments identifier. Caution! This does not have to be just a
            number, it can also contain letters, a dash, etc.
          examples:
            - P--2015000170-1
        orderCode:
          type:
            - string
            - 'null'
          description: order code (can be `null`)
          examples:
            - '2015000001'
        proformaInvoiceCode:
          type:
            - string
            - 'null'
          description: proforma invoice code (can be `null`)
          examples:
            - '2015000170'
        createdAt:
          $ref: '#/components/schemas/typeDateTime'
          description: date of create, in ISO 8601 format
        updatedAt:
          $ref: '#/components/schemas/typeDateTime'
          description: date of update, in ISO 8601 format
        issueDate:
          $ref: '#/components/schemas/typeDateTime'
          description: date on which was proof payment issued, in ISO 8601 format
        taxDate:
          $ref: '#/components/schemas/typeDate'
          description: date of tax
        isValid:
          type: boolean
          description: is proof payment valid?
          examples:
            - true
        currencyCode:
          type: string
          description: >-
            currency code. List of available currencies within the e-shop can be
            found in endpoint `GET /api/eshop`.
          examples:
            - CZK
        payment:
          $ref: '#/components/schemas/typePrice'
          description: total price on the bill
          examples:
            - '1000.00'
        closed:
          type: boolean
          description: is proof payment closed?
          examples:
            - true
        billFullName:
          type:
            - string
            - 'null'
          description: name on the bill (can be `null`)
          examples:
            - John Doe
        billCompany:
          type:
            - string
            - 'null'
          description: company name on the bill (can be `null`)
          examples:
            - Shoptet, a.s.
        billStreet:
          type:
            - string
            - 'null'
          description: street on the bill (can be `null`)
          examples:
            - Křižíkova
        billHouseNumber:
          type:
            - string
            - 'null'
          description: house number on the bill (can be `null`)
          examples:
            - 237/36
        billCity:
          type:
            - string
            - 'null'
          description: city on the bill (can be `null`)
          examples:
            - Praha 2
        billDistrict:
          type:
            - string
            - 'null'
          description: county on the bill (can be `null`)
          examples:
            - Praha 2
        billAdditional:
          type:
            - string
            - 'null'
          description: additional info for address on the bill (can be `null`)
          examples:
            - 4. floor
        billZip:
          type:
            - string
            - 'null'
          description: ZIP or postal code on the bill (can be `null`)
          examples:
            - 120 00
        billCountryCode:
          type:
            - string
            - 'null'
          description: two-character country code on the bil (can be `null`)
          examples:
            - CZ
        billRegionName:
          type:
            - string
            - 'null'
          description: region name on the bil (can be `null`)
          examples:
            - Capital city
        billRegionShortcut:
          type:
            - string
            - 'null'
          description: region abbreviation on the bil (can be `null`)
          examples:
            - CC
        vatId:
          type:
            - string
            - 'null'
          description: VAT identification number. (can be `null`)
          examples:
            - CZ123456789
        taxId:
          type:
            - string
            - 'null'
          description: >-
            TAX identification number. For Czech address, taxId is same as
            vatId. (can be `null`)
          examples:
            - CZ123456789
        companyId:
          type:
            - string
            - 'null'
          description: Company registration number. (can be `null`)
          examples:
            - '12345678'
        language:
          type: string
          description: Language code
          examples:
            - cs
        email:
          type:
            - string
            - 'null'
          examples:
            - example@example.com
        phone:
          type:
            - string
            - 'null'
          description: Phone number
          examples:
            - '603481066'
        source:
          type: object
          additionalProperties: false
          description: proof payments source
          required:
            - id
            - name
          properties:
            id:
              type: number
              description: source identifier
              examples:
                - 1
            name:
              type: string
              description: source description
              examples:
                - Administration
        cashdeskId:
          type:
            - number
            - 'null'
          description: cashdesk identifier
          examples:
            - 123
        customerGuid:
          type:
            - string
            - 'null'
          description: global unique permanent customer identifier (can be `null`)
          $ref: '#/components/schemas/typeGuidUnlimited'
        customerProfileId:
          type:
            - number
            - 'null'
          description: customer profile identifier (can be `null`)
          examples:
            - 123
        identificationNumber:
          type:
            - string
            - 'null'
          description: Identification number (can be `null`)
          examples:
            - '12345678'
          deprecated: true
        remark:
          type:
            - string
            - 'null'
          description: remark (not visible for customer) (can be `null`)
          examples:
            - This is a remark
        varSymbol:
          type: number
          description: variable symbol
          examples:
            - 666
        constSymbol:
          type:
            - string
            - 'null'
          description: constant symbol (can be `null`)
          examples:
            - '6583'
        specSymbol:
          type:
            - number
            - 'null'
          description: specific symbol (can be `null`)
          examples:
            - 36534576
        billingMethod:
          description: information about the method of payment (can be `null`)
          oneOf:
            - $ref: '#/components/schemas/billingMethod'
            - type: 'null'
        billBankAccount:
          type:
            - string
            - 'null'
          description: bank account on the bill (can be `null`)
          examples:
            - 123456789/1234
        billIban:
          type:
            - string
            - 'null'
          description: e-shop IBAN on the bill (can be `null`)
          examples:
            - CZ6508000000192000145399
        billBic:
          type:
            - string
            - 'null'
          description: bank code - SWIFT on the bill (can be `null`)
          examples:
            - CNBACZPPXXXas
        bankAccount:
          type:
            - string
            - 'null'
          description: bank account (can be `null`)
          examples:
            - 123456789/1234
        iban:
          type:
            - string
            - 'null'
          description: e-shop IBAN (can be `null`)
          examples:
            - CZ6508000000192000145399
        bic:
          type:
            - string
            - 'null'
          description: bank code - SWIFT (can be `null`)
          examples:
            - CNBACZPPXXXas
        documentRemark:
          type:
            - string
            - 'null'
          description: remark in the document (visible for customer) (can be `null`)
          examples:
            - This is a document remark
        invoiceCode:
          type:
            - string
            - 'null'
          description: Linked to invoice code (can be `null`)
          examples:
            - '2017100013'
        vatBreakdown:
          $ref: '#/components/schemas/proofPaymentVatBreakdown'
        vatMode:
          type:
            - string
            - 'null'
          description: >-
            VAT mode, can be null, for possible values see [VAT
            modes](#section/code-lists/VAT-modes)
          examples:
            - normal
    proofPaymentsForInvoice:
      type: array
      items:
        type: object
        additionalProperties: false
        required:
          - code
          - vatBreakdown
        properties:
          code:
            type: string
            description: >-
              proof payments identifier. Caution! This does not have to be just
              a number, it can also contain letters, a dash, etc.
            examples:
              - O-2017000017-01
          vatBreakdown:
            $ref: '#/components/schemas/proofPaymentVatBreakdown'
            description: breakdown of VAT (can be `null`)
    quantityDiscount:
      type: object
      additionalProperties: false
      required:
        - id
        - title
        - validFrom
        - validTo
        - timeUnlimited
        - customerGroups
        - displayFlag
        - flagColor
        - priority
        - isActive
        - status
        - includeUnregisteredCustomers
        - targetingLevel
        - targeting
        - settings
      properties:
        id:
          type: integer
          description: discount ID
          examples:
            - 1
        title:
          type: string
          description: discount title
          examples:
            - 18 + 4 free
        validFrom:
          $ref: '#/components/schemas/typeDate'
          description: date of discount validity from
          examples:
            - '2014-11-19'
        validTo:
          $ref: '#/components/schemas/typeDate'
          description: date of discount validity to
          examples:
            - '2014-12-19'
        timeUnlimited:
          type: boolean
          description: flag whether the discount is time unlimited
          examples:
            - true
        customerGroups:
          type:
            - array
            - 'null'
          description: customer groups connected to discount
          items:
            type: object
            additionalProperties: false
            required:
              - code
              - name
            properties:
              code:
                type: string
                description: customer group code
                examples:
                  - retail
              name:
                type: string
                description: customer group name
                examples:
                  - Retail customer
        displayFlag:
          type: boolean
          description: whether the flag is displayed
          examples:
            - true
        flagColor:
          type:
            - string
            - 'null'
          $ref: '#/components/schemas/typeColor'
          description: color of the flag
        priority:
          type:
            - integer
            - 'null'
          description: priority of the discount
          examples:
            - 1
        isActive:
          type: boolean
          description: flag whether the discount is active
          examples:
            - true
        status:
          type: string
          description: status of the discount
          enum:
            - available
            - unavailable
            - expired
            - planned
          examples:
            - active
        targetingLevel:
          type: string
          description: targeting level of the discount
          enum:
            - eshop
            - product
            - category
            - brand
          examples:
            - eshop
        targeting:
          $ref: '#/components/schemas/quantityDiscountTargetingResponse'
          description: definition of products needed to get discount
        includeUnregisteredCustomers:
          type: boolean
          description: >-
            defines if discount is valid for unregistered customers, default
            value is `false`
          examples:
            - true
        settings:
          $ref: '#/components/schemas/quantityDiscountSettingsResponse'
          description: settings of the discount
    quantityDiscountTargetingResponse:
      type:
        - object
        - 'null'
      required:
        - productGuids
        - categoryGuids
        - brandCodes
      description: definition of products needed to get discount
      additionalProperties: false
      properties:
        productGuids:
          type:
            - array
            - 'null'
          description: array of product guids
          items:
            type: string
            examples:
              - 356eb81e-d966-11e0-b04f-57a43310b768
        categoryGuids:
          type:
            - array
            - 'null'
          description: array of page guids (categories)
          items:
            type: string
            examples:
              - 07f7a4c1-d7b1-11e0-9a5c-feab5ed617ed
        brandCodes:
          type:
            - array
            - 'null'
          description: array of brand codes
          items:
            type: string
            examples:
              - brand-1
    quantityDiscountSettingsResponse:
      type:
        - array
        - 'null'
      description: settings of the discount
      items:
        type: object
        required:
          - amountFrom
          - discountType
          - discountValue
        additionalProperties: false
        properties:
          amountFrom:
            type: integer
            description: amount from of products needed to get discount
            examples:
              - 2
          discountType:
            type: string
            description: type of discount
            examples:
              - percentual
          discountValue:
            type: object
            additionalProperties: false
            required:
              - priceRatio
            properties:
              priceRatio:
                type: number
                description: >-
                  price ratio of the discount. Calculate as `(100 - percentage)
                  / 100`
                examples:
                  - 0.85
    shipmentAddress:
      type: object
      additionalProperties: false
      required:
        - name
        - countryCode
        - street
        - isDefault
        - type
      properties:
        id:
          type:
            - integer
            - 'null'
        name:
          type: string
        countryCode:
          type: string
        street:
          type: string
        city:
          type:
            - string
            - 'null'
        zipCode:
          type:
            - string
            - 'null'
        houseNumber:
          type:
            - string
            - 'null'
        contactPhone:
          type:
            - string
            - 'null'
        contactEmail:
          type:
            - string
            - 'null'
        isDefault:
          type:
            - boolean
            - 'null'
        type:
          type:
            - string
            - 'null'
    shipmentCustomer:
      type: object
      additionalProperties: false
      properties:
        name:
          type:
            - string
            - 'null'
        company:
          type:
            - string
            - 'null'
        street:
          type:
            - string
            - 'null'
        city:
          type:
            - string
            - 'null'
        zipCode:
          type:
            - string
            - 'null'
        countryCode:
          type:
            - string
            - 'null'
        phone:
          type:
            - string
            - 'null'
        email:
          type:
            - string
            - 'null'
        note:
          type:
            - string
            - 'null'
    shipmentPrice:
      type: object
      additionalProperties: false
      required:
        - value
        - currencyCode
      properties:
        value:
          $ref: '#/components/schemas/typePrice'
        currencyCode:
          type: string
    shipmentCoDPrice:
      type:
        - object
        - 'null'
      additionalProperties: false
      required:
        - value
        - currencyCode
      properties:
        value:
          $ref: '#/components/schemas/typePrice'
        currencyCode:
          type: string
    shipmentPackage:
      type: object
      additionalProperties: false
      properties:
        width:
          type:
            - number
            - 'null'
        height:
          type:
            - number
            - 'null'
        depth:
          type:
            - number
            - 'null'
        weight:
          type:
            - number
            - 'null'
        name:
          type:
            - string
            - 'null'
        packagingId:
          type:
            - integer
            - 'null'
        labelUrl:
          type:
            - string
            - 'null'
        labelZpl:
          type:
            - string
            - 'null'
        trackingNumber:
          type:
            - string
            - 'null'
        trackingUrl:
          type:
            - string
            - 'null'
    shipmentPackageWithHistory:
      type: object
      additionalProperties: false
      required:
        - history
      properties:
        width:
          type:
            - number
            - 'null'
        height:
          type:
            - number
            - 'null'
        depth:
          type:
            - number
            - 'null'
        weight:
          type:
            - number
            - 'null'
        name:
          type:
            - string
            - 'null'
        packagingId:
          type:
            - integer
            - 'null'
        labelUrl:
          type:
            - string
            - 'null'
        labelZpl:
          type:
            - string
            - 'null'
        trackingNumber:
          type:
            - string
            - 'null'
        trackingUrl:
          type:
            - string
            - 'null'
        history:
          type: array
          items:
            $ref: '#/components/schemas/shipmentHistory'
    shipmentHistory:
      type: object
      additionalProperties: false
      required:
        - fromStatus
        - toStatus
        - realDatetime
        - providerDatetime
        - note
      properties:
        fromStatus:
          type: string
        toStatus:
          type: string
        realDatetime:
          $ref: '#/components/schemas/typeDateTime'
        providerDatetime:
          $ref: '#/components/schemas/typeDateTime'
        note:
          type: string
    shipmentCarrierCountry:
      type: object
      additionalProperties: false
      required:
        - countryCode
        - maxCod
        - codCurrencyCode
        - maxWeight
      properties:
        countryCode:
          type: string
        maxCod:
          type:
            - string
            - 'null'
          $ref: '#/components/schemas/typePrice'
        codCurrencyCode:
          type:
            - string
            - 'null'
        maxWeight:
          type: integer
    articleUrls:
      type: object
      additionalProperties: false
      required:
        - sectionId
        - url
      properties:
        sectionId:
          type: number
          description: article section ID
          examples:
            - '682'
        url:
          type: string
          description: article URL
          examples:
            - https://www.some-eshop-url.com/blog/new-article
    discountCoupon:
      type: object
      additionalProperties: false
      required:
        - code
        - creationTime
        - discountType
        - amount
        - ratio
        - minPrice
        - currency
        - template
        - shippingPrice
        - validFrom
        - validTo
        - reusable
        - usedCount
        - remark
      properties:
        code:
          type: string
          description: code of discount coupon
          examples:
            - DC14585431
        creationTime:
          $ref: '#/components/schemas/typeDateTime'
          description: date and time, when the discount coupon was created
        discountType:
          type: string
          enum:
            - percentual
            - fixed
          description: >-
            type of discount. Percentual (`percentual`) or absolute discount
            (`fixed`)
          examples:
            - percentual
        amount:
          type:
            - string
            - 'null'
          $ref: '#/components/schemas/typePrice'
          description: amount of absolute discount (default eshop VAT rate is used)
        ratio:
          type:
            - string
            - 'null'
          $ref: '#/components/schemas/typePriceRatio'
          description: amount of percentual discount
        minPrice:
          type:
            - string
            - 'null'
          $ref: '#/components/schemas/typePrice'
          description: minimum price of order (default eshop VAT rate is used)
        currency:
          type:
            - string
            - 'null'
          $ref: '#/components/schemas/typeCurrencyCode'
          description: currency of fixed discount.
        template:
          $ref: '#/components/schemas/typeGuid'
          description: template used for the discount coupon creation.
        shippingPrice:
          type:
            - string
            - 'null'
          enum:
            - cart
            - free
            - beforeDiscount
            - null
          description: >-
            how the transport prices are calculated: according to the cart
            before discounts (beforeDiscount), according to the displayed value
            of the cart (cart), or free (free)
          examples:
            - cart
        validFrom:
          $ref: '#/components/schemas/typeDate'
          description: starting date of coupon validity
        validTo:
          $ref: '#/components/schemas/typeDate'
          description: ending date of coupon validity
        reusable:
          type: boolean
          description: Is the discount coupon reusable?
          examples:
            - true
        usedCount:
          type: integer
          description: number of times the discount coupon has been used
          examples:
            - 0
        remark:
          type:
            - string
            - 'null'
          description: remark for the discount coupon.
          examples:
            - 'Note: This is a test discount coupon'
